سؤال

وعن طريق اي فون SDK 3.0، وأتمنى للسماح بدخول النص مع (اختياري) خيارات اكتمال التي تظهر الكتابة يحدث، أي السماح أيضا دخول freeformat. على هذا النحو أنا باستخدام UISearchBar (الذي يحتوي على أحداث تغيير النص) وUISearchDisplayController إلى تقديم خيارات.

والمشاكل هي أريد زر حررت ليقول فعلوه و لا بحث، ولكن لا أستطيع أن أجد وسيلة لتحديد ذلك. ومن الواضح أشعر أنا في عداد المفقودين شيء، أو أن واجهة باني API SDK لديهم بعض الممتلكات لتعيين.

ولقد رأيت تطبيقات أخرى (في المخزن) التي حققت نتيجة أريد (دخول شكل حر، والانتهاء، زر حررت) لذلك ربما يكون هناك نهج بديل أنا في عداد المفقودين. ويرجع الفضل في ذلك مسبقا لأية مؤشرات.

هل كانت مفيدة؟

المحلول

و+1 للإجابة وول، ولكن أن تكون على الجانب الآمن، والرد بشكل مناسب لتغييرات محتملة في التسلسل الهرمي رأي في إطلاق بعيد النظر في استخدام هذا الرمز:

NSArray *subviews = [<searchBar> subviews] ;
for(id subview in subviews) {
    if([subview isKindOfClass:[UITextField class]]) {
        [(UITextField*)subview setReturnKeyType:UIReturnKeyDone];
    }
}

نصائح أخرى

وكان مجرد لتنفيذ هذا بالضبط، ولا يمكن العثور على أي إجابات كبيرة في أي مكان ... حتى ظننت فما استقاموا لكم فاستقيموا تقديم بعض البصيرة. التنقل خلال المصحح وحفر في UISearchBar فمن الواضح جدا. انتهى للتو العثور على UITextView داخل subviews uisearchbar وعند هذه النقطة ثم يجب أن تكون قادرا على تعيين returnkeytype على أن UITextView بمجرد الحصول على التعامل مع ذلك.

وPsuedocode- UISearchBarObject.SubViewAtIndexOfUITextField.ReturnKeyType = UIReturnKeyType.Done

ضع هذا الرمز في viewDidLoad.

- (void)viewDidLoad {
...

NSArray *subviews = [self.searchDisplayController.searchBar subviews] ;
UITextField *searchField = [subviews objectAtIndex:([subviews count]-2)];
[searchField setReturnKeyType:UIReturnKeyDone];

...
}

والغريب، UISearchBar يجب أن تدعم واجهة UITextInputTraits مثل UITextField وUITextView القيام به (أنه لا يقول هو الحال في الوثائق)، وبالتالي ينبغي أن يكون <لأ href = "http://developer.apple.com/iphone/library /documentation/UIKit/Reference/UITextInputTraits_Protocol/Reference/UITextInputTraits.html#//apple_ref/occ/intfp/UITextInputTraits/returnKeyType "يختلط =" نوفولو noreferrer "> returnKeyType . كنت تحاول ذلك على أي حال.

إذا لم يحدث ذلك، ربما واحدة من الأشياء التي تستخدم UISearchBar لديه هذا الخيار.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top