お世話になっています。iOS開発をしているものです。
どうか皆様の力をお貸しください。
現在、TableView上にスクロールしないButton(スクロールされてもずっと定位置にいる)を配置しようと考えているのですが期待通りの位置にButtonが配置されません。ソースコードを以下に置きますのでどうか回答の方をよろしくお願いします。
修正:
ButtonはviewDidLoadで生成しています。AutoLoyoutは効かせておりません。
Buttonを配置しようとしているところはscrollViewDidScrollでやっています
よろしくお願いします。
- (void)viewDidLoad { CGFloat inset = 20; CGFloat settingsButtonHeight = 32; CGFloat settingsButtonWidth = 32; CGRect settingsButtonFrame = CGRectMake((screenFrame.size.width -52), (screenFrame.size.height -52), settingsButtonWidth, settingsButtonHeight); self.settingsButton = [UIButton buttonWithType:UIButtonTypeRoundedRect]; [self.settingsButton setFrame:settingsButtonFrame]; [self.settingsButton setTitle:@"押してね" forState:UIControlStateNormal]; [self.settingsButton setBackgroundColor:[UIColor redColor]]; [self.settingsButton addTarget:self action:@selector(touchBtn:) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:self.settingsButton]; } - (void)scrollViewDidScroll:(UIScrollView *)scrollView { CGPoint point = CGPointMake(self.settingsButton.frame.size.width +scrollView.contentOffset.x, self.settingsButton.frame.size.height + scrollView.contentOffset.y); self.settingsButton.frame = CGRectMake(point.x,point.y,50,50); } コード
このコードはどこで呼び出されるのでしょうか?settingsButtonはどのように配置しているのでしょうか?(TableViewにaddSubViewしたとかStoryboardでTableViewの兄弟として配置したとか)それとAutoLayoutは使用していませんか?
ご指摘ありがとうございます。修正いたしました。
ButtonはviewDidLoadで生成しており、Storyboard上ではButtonに関しては何もしておりません。
すいません。addTargetではなくaddSubviewしている箇所が欲しいッス。
あと"期待通りの位置にButtonが配置されません"とは具体的にどうなっていますか?
固定できずスクロールしてしまうのか、固定はできているが目的の場所ではなく別の場所にあるのか?
もしかして左上から50,50の位置に固定されているんですかね?
ついでにソースコードの最後の"コード"は削除していいと思いますよw
ソースコード修正しました。何度も申し訳ありません。
現在のソースですとスクロールはされずに固定はできているですが目的の位置には配置されていない状態です。
回答1件
あなたの回答
tips
プレビュー