Xcode9でビルドしたらナビゲーションバーがずれている! 今まで、UINavigationBarを、高さを変えて使用していた。具体的には、以下のコードのように、高さを64pxにして、ViewControllerのViewにaddして使っていた。(コードはObjective-C) [crayon-650dd048ec35d347066275/] しかし、Xcode9でビルドしてみると、表示がおかし […]
UICollectionViewでsetCollectionViewLayout(_:animated:)でレイアウトを変更しようとしていたところ、以下のエラーで落ちてしまった。 2017-07-31 11:57:49.110 CollectionViewLayout[3621:83128] *** Terminating app due to uncaught exception 'NSInva […]
UITextFieldに余白(padding、margin)を持たせるやり方。 やり方は、UITextFieldを継承したカスタムクラスを作成して、必要なメソッドをオーバーライドする。 カスタムクラスとか使いたくない場合はInterfaceBuilderでがんばる方法もある。 手順 1.「New File...」で、UITextFieldを継承したカスタムクラス(ここでは、MyTextFieldと […]
Interface BuilderでUITableViewCellの背景色を透明に設定しても、 というか、どの色を設定しても、設定できない! 結論: できない! ので、コードで設定する。 透明じゃない場合は、contentViewや、背景色用のViewをもう一つ作って、そこに設定する。
UIButtonがタップに反応しない! ひょっとしてそのボタン、はみだしてませんか? カスタムビューをつくっていて、ボタンが付いているビューをプログラムからaddしたのだが、 addしたビューのボタンが、タップに反応しない。 どうやら配置したビューのボタンの部分が、親ビューの領域外にはみだしていたからっぽい。 今回は、カスタムビューだったので、以下のメソッドをオーバーライドすることで対応した。 [ […]
Nibでデザインを作って、InterfaceBuilderからもコードからも使えるカスタムViewの作成方法。 ※MyCustomViewというカスタムビューを作成するとする。 1. MyCustomView.swiftファイルを作成する。 UIViewを継承する。 2. MyCustomView.xibファイルを作成する。 「New File > View」 から作成する。 3. MyCusto […]
UITableViewを編集モードにして、行を追加するやり方。 UITableViewの基本的な準備や、編集モードへのもっていきかたは、以下記事を参照。 UITableViewの最低限の実装 UITableViewの編集モード ※ViewControllerの全ソースは記事の一番下 追加ボタンを用意する。標準で用意されている追加ボタンがあるので、今回はコレを使用。 プロパティとして持たせるのが良い […]
例えば、iOS標準の「メール」アプリや、「メモ」アプリでは、ナビゲーションバーの右側に「編集」ボタンがあり、 「編集」ボタンを押すと、テーブルビューの行を一括選択したり削除したり...と、編集できるようになる。 これを、どうやるか。 準備 今回は、ナビゲーションバーの上に「編集」ボタンを表示させるため、UINavigationControllerを利用する。 テーブルビューの最低限の実装は、次の記 […]
新規プロジェクトを「Single View Application」で作成して、UITableViewを使えるようにするまでの最低限の実装手順。 ViewController.swiftにtableViewプロパティを実装。 Main.storyboardのView ControllerにUITableViewを配置し、swiftファイルとIBOutlet接続する。 ViewControllerに […]
プロジェクトを作成した後に、Storyboardを使わないようにする為の手順。 ・プロジェクトファイルの、Generalタブの、Deployment InfoのMain Interfaceを削除(空欄にする) ・Main.storyboardファイルを削除 ・AppDelegateのapplication(_:didFinishLaunchingWithOptions:)に以下コードを記述 [cr […]