self.tableView = [[UITableView alloc] initWithFrame:CGRectMake(0.0, 0.0, 320.0, [UIScreen mainScreen].bounds.size.height ) style:UITableViewStylePlain];
テーブルビューフレームをに変更した場合
(0.0, 0.0, 320.0, [UIScreen mainScreen].bounds.size.height -49.0)
スクロールバーが空白のままになりますが、気に入らないのですが、どうすれば修正できますか?
どうもありがとうございました。
そのテーブルビューのcontentInset
を設定してみてください。 iOS 7には、topLayoutGuide
とbottomLayoutGuide
があります(これはあなたが望むものです)。 UITabBarController
の内部では、bottomLayoutGuide
は基本的に下部のバーの高さを示します。
tableView.contentInset = UIEdgeInsetsMake(0, 0, self.bottomLayoutGuide.length, 0);
トリックを行う必要があります。
半透明のプロパティをNO
に設定します
// In init or viewDidLoad of tab bar controller
self.tabBar.translucent = NO;
これで、タブバーのサイズがテーブルビューのサイズに変更されます。
translucent
プロパティは、iOS7以降で使用できます。
// viewDidLoad()で、次の行が機能しました
self.edgesForExtendedLayout = UIRectEdge.None self.navigationController?.navigationBar.translucent = false self.tabBarController?.tabBar.translucent = false
スイフト:
self.tabBar.isTranslucent = false
注:@EricAmordeの回答はSwiftに変換されます。