swift

【swift】UITableViewでUIMenuControllerをカスタマイズして使う方法

はじめに 今回やりたかったのはLINEみたいなかんじでセルを長押しすると削除とか編集とかのメニューをだしたかったことです。で、デフォルトで「copy」とか「paste」とかの項目があるのですが、これらを削除してカスタマイズしたメニューだけ表示するという…

【swift】ボタンをカスタマイズする方法メモ

はじめに 今回やりたかったのは、大きめのボタンで文字列が2行のもの。 まぁ1回やってしまえばどうってことないんですど次回やるときのためにメモちょっとセンスないですが、やりたいことはこんな感じです 実装 iPhoneアプリでボタンなどの部品をカスタマイ…

【swift】uitabbarにポップオーバーするメニューを表示する方法

はじめに また、ちょっと需要なさそうな内容なのですがやりたかったことは以下のような形です。uitabbarのタブをクリックすると画面遷移するのではなくて、ポップオーバーでメニューを表示するということ 実装方法 ポイントは 1. UITabBarControllerDelegate…

【swift】Dictionaryの配列を使う方法メモ

はじめに また基礎的なことです。 やりたかったこととしては、APIから取得した値を連想配列(Dictionary)の配列に代入といういかいれることでした 実装 // var response = APIなどから取得してきた値 var result = [Dictionary<String, AnyObject>]() if var array = response as</string,>…

【swift】実行中のviewController名を取得する方法メモ

また素人丸出しのメモです。が、やりかったこととしてはアプリの画面が増えてきてどの画面がどのファイルかわからなくなってきた、、、 根本的にちゃんと命名規則やら整理しろってことになるのかもしれませんが、、、BaseViewController.swift class BaseVie…

【swift】ページ内リンクを実装する方法

はじめに やりたかったことはHTMLで言えばページ内リンクで、さらにアニメーションのつき(スクロールしながら)で行うことでした僕の場合、縦長のページは必ずと言っていいほどUITableViewを使っているので、これを使っての実装方法メモになります 実装方法 V…

【swift】addSubviewしたviewがずれたときの対処メモ

はじめに 結論からいうと回避策はわかったので対処はしたのですが、原因がわかっていません、、、現象としては、viewDidLoadでaddSubviewしたviewが縦にずれる(画面からはみでる) しかし、pushViewControllerで別ページへ遷移後に戻ってくるとずれることなく…

swiftのUISearchBarでキャンセルボタンの表示・非表示を切り替える方法

はじめに UISearchBarは検索フォーム用のテキストフィールドで、キーボードも検索用のものが表示されるのでとても便利だなぁと思います。 今回はすこしだけいじって、以下を実装しました ・通常ではキャンセルボタンを非表示 ・編集中のみキャンセルボタンを…

swiftの画面遷移で画面を上から下に表示する方法

はじめに やりたかったことは画面上部のメニューバーに設定ボタンをおいてそれをタップすると、画面上からメニューが落ちてくるような動きでした。単純に、presentViewControllerを呼び出す前にviewController.modalTransitionStyleに適当なスタイルを設定す…

swiftでuitextviewに完了ボタンを設置してキーボードを閉じる方法

はじめに uitextfieldでは基本的に改行がないので、改行を押されたらキーボードを閉じる処理を実装すればよかったのですが、uitextviewの場合は改行も当然入力したいと思われるので同じ方法が使えませんでした。で、今回はキーボードの上に別途に完了ボタン…

swiftでUitextFieldがキーボードで隠れないようにする方法

はじめに また、webだと考えられないようなところでつっかかたのでそのときの対応をメモします。 iPhoneアプリ開発したことがある人ならみんな経験しているようなことなのかもしれませんが、初めてのiPhoneアプリ開発ではハマる部分なのではないかと思います…

swiftでファイルアップロードする方法メモ

はじめに 簡単にできるかと思ってたけどけっこう時間かかったので実装方法をメモしておきます。api連携の処理は全てAlamofireというライブラリを使って実装する予定だったのですが、これを使ってファイルアップロードの仕方がわからなかったので別の方法を検…

swiftでcheckboxやradiobuttonを実装するライブラリ

はじめに swift(objective-c)でのiosアプリ開発していて、標準のuikitにはhtmlでのチェックボックスやラジオボタンなどに相当する部品がありませんでした。で、まぁ探していたらCTCheckboxというちょうどいい感じのライブラリがあったので使い方メモしておき…

swiftで入力フォームを作ってみた by web感覚

はじめに やりたかったことは、webサイトでもよくある、テキストボックス、テキストエリア、セレクトボックスをiosアプリでも作りたかった最初に考えたのが以下です。 テキストボックス : UITextField テキストエリア:UITextView セレクトボックス:?セレ…

swiftでfacebook認証を実装する手順まとめ2

はじめに swiftでのfacebook認証を実装する手順 - とりあえずphpとか こちらの続きになります。前回までで、Facebookでの設定やらxcodeの設定、SDKの準備まで完了したのであとは具体的にコードを書いていく形になりますまた、今回実装する内容は以下です Fac…

swiftでfacebook認証を実装する手順まとめ

はじめに 今回やりたかったのは以下 Facebookログインボタンの設置(自分でデザインしたもの) Facebookでのユーザid、メールアドレスの取得 手順 Facebookアプリの登録(Facebook上での作業) info.plistの編集 Facebook SDKの入手 Facebookログインをコード…

swiftでのapi通信処理を共通化する方法 - UITableView編

はじめに swiftでのapi通信処理を共通化する方法 - とりあえずphpとか こちらの続きです。前回は画面が表示されるときに、APIを叩いて通信が完了したらviewを画面に追加する。というのものでした。今回はアプリでよくある無限スクロールみたいのを実装します…

swiftでのapi通信処理を共通化する方法

はじめに まだまだ初心者ですが だいぶレイアウトが作れるようになってきたのでapiを作って動的に画面の内容を出せるようにしています。やりたいこととしては ・api通信の部分を別クラスにしたい(php開発で例えるとsql処理を別クラスにわけるようなイメージ…

webプログラマがiosアプリ開発を始めて学んだことまとめ

はじめに 今までwebアプリの開発をほぼphpでおこなってきたのですが、ここ2ヶ月iosアプリ開発をして学んだことをまとめます。 社内に経験者がいないため基本独学で進めて、たまに知人に質問というか相談をしてるかんじです。 とくに最初の1ケ月はけっこうと…

UiTableViewCellの特定のセルだけ更新する方法

はじめに やりたかったことは、画面上のUITableViewの特定のセルをクリックされたら、そのセルの中身だけ更新するということでした。 画面イメージは以下になります※クリック前 ※クリック後 今回のサンプルでは高さと背景色を変えてみました 実装方法 class …

ツールバーでボタンを等間隔に配置する方法

やりたいこと ツールバーをつくる方法です。 UINvigatioNavigationvarを使っていれば、デフォでナビゲーションバーが付いていたかと思いますが、今回はそれではなく自分で作って配置する方法です。 実装 左はし、中央、右はしに配置します class ViewControl…

UIScrollVIewとUICollectionViewでアイコンやラベルが横スクロールする画面を作る方法

はじめに 需要あるかわからないけどやる機会があったのでつくり方をメモしておきます。 また、きっともっと簡単に実現する方法があると思うのでそういうのあったらアドバイスいただきたいですやりたいのは以下のように、アイコンやラベルを横並びにして画面…

uitableviewで複雑なレイアウトを作る方法

はじめに 今回作りたい画面はこんなかんじ。スクロール前 スクロール後 webとかでもありがちなページです。 ページ上部にヘッダがあって、ページ下部にフッターがあって、間にリストみたいなのがある。 ちなみにヘッダーとフッターは固定ではありませんが、…

iPhoneアプリでありがちな設定画面を作る方法

はじめに iPhoneアプリ開発初めて約1ヶ月経ちました。 web開発しかやったことなかったので想像以上に戸惑いながらも徐々になれてきました とはいえ今月は疲れてます、、、笑まぁアプリでありがちな設定画面 今回はこの画面を作るのに少しつっかかりましたが…