UIKit

Xcode9でUINavigationbarの高さがずれてしまうのは、自分の使い方が間違っていたのが原因だった。

Xcode9でビルドしたらナビゲーションバーがずれている! 今まで、UINavigationBarを、高さを変えて使用していた。具体的には、以下のコードのように、高さを64pxにして、ViewControllerのViewにaddして使っていた。(コードはObjective-C) [crayon-5ce9abeb5a5d2716463839/] しかし、Xcode9でビルドしてみると、表示がおかし […]

UITextFieldに余白(パディング、マージン)を持たせる【正攻法】

UITextFieldに余白(padding、margin)を持たせるやり方。 やり方は、UITextFieldを継承したカスタムクラスを作成して、必要なメソッドをオーバーライドする。 カスタムクラスとか使いたくない場合はInterfaceBuilderでがんばる方法もある。 手順 1.「New File...」で、UITextFieldを継承したカスタムクラス(ここでは、MyTextFieldと […]

親Viewの領域外に配置されたコントロールのイベントに反応する

UIButtonがタップに反応しない! ひょっとしてそのボタン、はみだしてませんか? カスタムビューをつくっていて、ボタンが付いているビューをプログラムからaddしたのだが、 addしたビューのボタンが、タップに反応しない。 どうやら配置したビューのボタンの部分が、親ビューの領域外にはみだしていたからっぽい。 今回は、カスタムビューだったので、以下のメソッドをオーバーライドすることで対応した。 [ […]

SwiftでStoryboardからもコードからも使えるカスタムViewを作成する【Swift、iOS】

Nibでデザインを作って、InterfaceBuilderからもコードからも使えるカスタムViewの作成方法。 ※MyCustomViewというカスタムビューを作成するとする。 1. MyCustomView.swiftファイルを作成する。 UIViewを継承する。 2. MyCustomView.xibファイルを作成する。 「New File > View」 から作成する。 3. MyCusto […]

UITableViewに行を追加する

UITableViewを編集モードにして、行を追加するやり方。 UITableViewの基本的な準備や、編集モードへのもっていきかたは、以下記事を参照。 UITableViewの最低限の実装 UITableViewの編集モード ※ViewControllerの全ソースは記事の一番下 追加ボタンを用意する。標準で用意されている追加ボタンがあるので、今回はコレを使用。 プロパティとして持たせるのが良い […]

UITableViewの編集モード

例えば、iOS標準の「メール」アプリや、「メモ」アプリでは、ナビゲーションバーの右側に「編集」ボタンがあり、 「編集」ボタンを押すと、テーブルビューの行を一括選択したり削除したり...と、編集できるようになる。 これを、どうやるか。 準備 今回は、ナビゲーションバーの上に「編集」ボタンを表示させるため、UINavigationControllerを利用する。 テーブルビューの最低限の実装は、次の記 […]

UITableViewの最低限の実装

新規プロジェクトを「Single View Application」で作成して、UITableViewを使えるようにするまでの最低限の実装手順。 ViewController.swiftにtableViewプロパティを実装。 Main.storyboardのView ControllerにUITableViewを配置し、swiftファイルとIBOutlet接続する。 ViewControllerに […]

Storyboardを使わずにアプリを作成する

プロジェクトを作成した後に、Storyboardを使わないようにする為の手順。 ・プロジェクトファイルの、Generalタブの、Deployment InfoのMain Interfaceを削除(空欄にする) ・Main.storyboardファイルを削除 ・AppDelegateのapplication(_:didFinishLaunchingWithOptions:)に以下コードを記述 [cr […]