不幸的是,iOS沒有像標籤一樣的html下拉選擇器。我決定終於爲我的應用程序創建一個,它看起來很棒,效果很好。我的下拉對象是UITextField的一個子類。然而,我改變了一些東西,現在只有一些時間。UITextField shouldBeginEditing每隔一段時間調用一次?
啓用了用戶交互,但我不希望文本框可以編輯。我的dropdown子類所在的類是UITextField委託,並且應該接收UITextField的委託方法。
我有- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
我檢查是否有問題的文本框是一個下拉菜單,如果是,我調用一個方法來實例化一個彈出窗口並禁用編輯,但下拉菜單隻出現在每一個其他的龍頭上。
例如,我將點擊「textfield」和我的popover顯示。我點出來讓popover消失,然後我點擊「textfield」,沒有任何反應。我再次點擊文本框並彈出窗口。不知道爲什麼發生這種情況,這裏是我在做什麼:
.H
subclass : UIViewController<UITextFieldDelegate>
.M
dropdownTextField.delegate = self;
...
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
if(textField == self.measurementSelect){
NSLog(@"IM CALLED");
[self showPopover:textField];
return NO;
}
return YES;
}
-(void)showPopover:(id)sender{
if (_measurementPicker == nil) {
_measurementPicker = [[iPadMeasurementSelect alloc] initWithStyle:UITableViewStylePlain];
_measurementPicker.delegate = self;
}
if (_measurementPopover == nil) {
_measurementPopover = [[UIPopoverController alloc] initWithContentViewController:_measurementPicker];
[_measurementPopover presentPopoverFromRect:self.measurementSelect.frame inView:self.conversionView permittedArrowDirections:UIPopoverArrowDirectionLeft animated:YES];
}
else {
[_measurementPopover dismissPopoverAnimated:YES];
_measurementPopover = nil;
}
}
,每一個水龍頭被nslogged,所以我想我的酥料餅的方法是這個問題的罪魁禍首。有任何想法嗎?取笑UI元素分開存在和酥料餅的可見狀態
工程就像一個魅力!偉大的見解! –