【问题标题】:How to stop the UIView from disappearing?如何阻止 UIView 消失?
【发布时间】:2013-02-08 08:39:13
【问题描述】:

通过单击后退按钮,我保存了来自UITextFieldsUIView 的信息。当UITextField 中的信息不正确并单击后退按钮时,我想打开键盘,但我的视图消失了。如何阻止 UIView 消失并改为打开我的键盘。

我想我应该把我的代码放在 viewShouldDissapear 中,但是没有这样的方法。

这是我的代码:

- (void) viewWillDisappear:(BOOL)animated
{

if ([textField1 length] < 3 || [textField1 length] > 17) {

    tableView.contentInset = UIEdgeInsetsMake(65, 0, 10, 0);

    [tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:7 inSection:indexPath.section]
                     atScrollPosition:UITableViewScrollPositionTop animated:NO];

    [txtSerieSasiu becomeFirstResponder];
    return;
}

if (shouldSave)
    [self save];
}

【问题讨论】:

  • 是导航控制器上的后退按钮??

标签: iphone uiview keyboard viewwillappear


【解决方案1】:

我假设您在导航控制器上有返回按钮。
然后在此处添加一个自定义按钮,如果一切正确,则将其关闭,否则显示键盘

- (void)viewDidLoad
{
    [super viewDidLoad];
    UIButton *button =  [UIButton buttonWithType:UIButtonTypeCustom];
    [button setImage:[UIImage imageNamed:@"goback.png"] forState:UIControlStateNormal];
    [button addTarget:self action:@selector(popVC:) forControlEvents:UIControlEventTouchUpInside];
    [button setFrame:CGRectMake(0, 0, 32, 32)];
    self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:button];
}

- (void)popVC:(id)sender
{
    if (isValueCorrect) {
        [self.navigationController popViewControllerAnimated:YES];
    }
    else{
        [textView becomeFirstResponder];
    }
}

【讨论】:

    【解决方案2】:

    将此代码写入从按钮按下调用的选择器中,如果一切正常,则仅弹出/关闭您的视图控制器。和viewWillDisAppear 一样,你可以要求控制器取消消失。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-12
      • 2012-08-07
      • 2013-08-10
      • 2019-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-02
      相关资源
      最近更新 更多