きょうはSegmented Controlで”とまチョップ”と”その他”を切り替えるところでScrollViewが下に行きすぎる問題を解決。
スタンプを選ぶ画面で、画像が横に3つ並んだ時点で下の行に改行するようになっているのですが、scrollview.ContentSizeの大きさが間違っていたらしく一番下まで行くと、選ぶはずのスタンプが画面の上端の方までいってしまう…
そこで、changeSegのところで
//3で割り切れるとき、
ボタンの数 ÷ 3(= 行数) × ボタンの高さ + SegmentedControlが乗っているViewの高さ
if (とまチョップスタンプの数 % 3 == 0) {
_scrollView.contentSize = CGSizeMake(
self.view.frame.size.width, 80 + 140 *(とまチョップスタンプの数 / 3));
//3で割ると余るとき、
(ボタンの数 ÷ 3 + 1) × ボタンの高さ + SegmentedControlが乗っているViewの高さ
}else{
_scrollView.contentSize = CGSizeMake(
self.view.frame.size.width, 80 + 140 *(とまチョップスタンプの数 / 3 + 1));
}
}
これで解決。
ついでにこれを足して、SegがかわったときにscrollViewを一番上までスクロールするようにしました。
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.3];
[_scrollView setContentOffset:CGPointMake(0.0f, 0.0f)];
[UIView commitAnimations];