0

に合わせて開発を開始しましたが、 の奇妙な動作IOS 7についてはよくわかりません。 彼らがここで指定したよう に、私も問題に直面しています。pickerView をクリックすると、キーパッドが開かれます。そして、私はそれを辞任することができません。UIPickerView'sIOS 7 (Only in IOS7)

私はすべての次のことを試しました

[sender resignFirstResponder];
[self dismissKeyboard];
[self.view endEditing:YES];

私のコード:

- (IBAction)selectCountry:(UIControl *)sender {

    UITextField *txtfld = (UITextField*)sender;
    NSLog(@"selectCountry Picker Called:%d ",txtfld.tag);

    [self dismissKeyboard];
    [self.view endEditing:YES];

    [sender resignFirstResponder];

        ActionStringDoneBlock done = ^(ActionSheetStringPicker *picker, NSInteger selectedIndex, id selectedValue) {
            if ([billingCountry respondsToSelector:@selector(setText:)]) {
                [billingCountry performSelector:@selector(setText:) withObject:selectedValue];
                selectedBillingCountry = selectedValue;

                        }

            [self resetShippingServicesControl];
            [self resetProvinceState];
            [self loadViewAsperCountry];
                               };


        ActionStringCancelBlock cancel = ^(ActionSheetStringPicker *picker) {
            NSLog(@"selectCountry Picker Cancelled");
            [self dismissKeyboard];
            [self.view endEditing:YES];
            [sender resignFirstResponder];
        };
        NSArray *countryA = [NSArray arrayWithArray:[self getCountryList]];
        [ActionSheetStringPicker showPickerWithTitle:@"Select Country" rows:countryA initialSelection:0 doneBlock:done cancelBlock:cancel origin:sender];


}

しかし、それでも :( 。これに対する解決策を見つけるのを手伝ってください。IOS7ユーザーのために再設計する必要がありますか? Geeks に感謝します。

4

1 に答える 1

0

あなたの問題は でUIActionSheetあり、 ではないようUIPickerViewです。

ドキュメントUIActionSheetに記載されているように、にサブビューを追加しないでください

UIActionSheet はサブクラス化するようには設計されていないため、その階層にビューを追加するべきではありません。UIActionSheet API で提供される以上のカスタマイズでシートを表示する必要がある場合は、独自のシートを作成して、presentViewController:animated:completion: でモーダルに表示できます。

于 2013-09-23T12:27:59.467 に答える