LoginSignup
2
0

More than 3 years have passed since last update.

[iOS14]UITableViewCellに置いたボタンが押せなくなった

Posted at

かなり昔に書かれたObjective-Cソースコードで、iOS14になってから発生したバグについてです。

何が起きたか

UITableViewCellサブクラスの実装で、コードでレイアウトしていたソースがありました。
こんな感じです。

- (void)awakeFromNib {    
    [super awakeFromNib];

    UIButton *button = [[UIButton alloc] init];
    [button addTarget:self action:@selector(doSomething:) forControlEvents:UIControlEventTouchUpInside];
    [self addSubView: button];

}

このボタンが、iOS14ではなぜか押せなくなりました。

原因

iOS14からは、UITableViewCell.contentView(UITableViewCellContentView)がUITableViewCellの大きさになっており、かつ一番手前に来るようになりました。
なので、上記のソースではUITableViewCell自体にaddSubViewしていたため、UIButtonよりも前面にUITableViewCellContentViewが来てしまい、UIButtonが押せなくなりました。

解決方法

    //[self addSubView: button];
    [self.contentView addSubView: button];

これで押せるようになります。

参考資料

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0