UISearchBar
'u geri almayı denediğimde uygulamanız çöküyor. Benim app ben arama çubuğunda bir '%' işareti girmesini engellemeye kodu bulunan ve bu iş için o bir% değiştirir @ ": abc" olarak aşağıda textDidChange yönteminde Yani"[NSBigMutableString substringWithRange:]: Aralık {0, 10} sınırlar dışı; string length 9" hatası Geri Al ile
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText
{
self.searchBar.text = [searchText stringByReplacingOccurrencesOfString:@"%" withString:@""];
}
Metin yazarsanız" % xyz ", arama çubuğunda görünen son metin" abcxyz "olacaktır. Geri alma işlemini tıklattığımda, 'xyz' ifadesinin temizlendiğini görüyorum ve arama çubuğunda 'abcxyz' özelliğini bir seferde silmek yerine hala 'abc' görüyorum.
'abc' uygulamasını silmek için tekrar geri al 'ı tıklatırsam, uygulama çöktü [NSBigMutableString substringWithRange:]: Range out of bounds
hatası ile.
'%' yerine @ "" ile değiştirilse bile, geri alma yöneticisi hala tutuyor olabilir ve dolayısıyla aralık sınırların dışına çıkmaktadır.
textDidChange
numaralı telefondan [searchBar.undoManager removeAllActions];
'u denedim, ancak% "@" ile değiştirdikten sonra yardımcı olmadı. İşte kod:
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText
{
self.searchBar.text = [searchText stringByReplacingOccurrencesOfString:@"%" withString:@""];
[searchBar.undoManager removeAllActions];
}
Soru: Herkes önce benzer sorunla karşı karşıya? Geri almayı nasıl ele alabilirim?
removaAllActions benim için çalıştı rağmen. Son olarak, uygulamamız için geri almak için sallantıyı kapatmayı seçtik. – SuperGuyAbe