swiftでUITableViewを使ってでチャットを作っています。
scrollToRowAtIndexPathで一番下のセルまで移動しようとしています。
iOSシュミレーター(iphone5,iphone6)では、きっちりと一番下のセルの位置まで移動しました。
しかし、なぜかiphone5実機で実行した場合、60ptぐらい上に表示されてしまい、下に少しスクロールして初めて一番下のセルが表示される状態です。
下に移動するコード
swift
1override func viewDidAppear(animated: Bool) { 2 //一番下に移動 (self.message_list.countは配列の個数) 3 var indexPath = NSIndexPath(forRow: (self.message_list.count - 1), inSection: 0) 4 self.myTableView.scrollToRowAtIndexPath(indexPath, atScrollPosition:.Bottom, animated: false) 5}
UITableViewの宣言コード
swift
1let displayWidth: CGFloat = self.view.frame.width 2let displayHeight: CGFloat = self.view.frame.height 3let heightadd : CGFloat = (self.navigationController?.navigationBar.frame.size.height)! + UIApplication.sharedApplication().statusBarFrame.size.height 4 5myTableView = UITableView(frame: CGRect(x: 0, y:heightadd, width: displayWidth, height: displayHeight - 50 - heightadd)) 6myTableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "MyCell") 7myTableView.dataSource = self 8myTableView.delegate = self 9myTableView.backgroundColor = UIColor(red: 242/255, green: 242/255, blue: 242/255, alpha: 1) 10myTableView.contentInset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0) 11myTableView.separatorColor = UIColor.clearColor() 12self.view.addSubview(myTableView)
その他処理
swift
1self.navigationController?.navigationItem.setHidesBackButton(true, animated: true) 2self.navigationItem.title = "\(get_proposal_title)" 3self.navigationController?.edgesForExtendedLayout = UIRectEdge.None 4self.automaticallyAdjustsScrollViewInsets = false
・navigationControllerを使っています。
・セルはセルの中身に合わせて高さが可変しています。
・iphone6の実機で試したところ一番下のセルまでスクロールしました。iphone5でのみなるようです。
原因や解決策を知っている方がいましたら是非教えていただきたいです。
是非よろしくお願いしますm(_ _)m
あなたの回答
tips
プレビュー