App Storeとかであるんだけど、UITableViewの最初の20件とかを 読み込んでおいて、もっと見たい場合は一番下のセルの 「ほかの??件を読み込む」 とか 「次の??件…」 ってのを押すとインジケーターがぐるぐる回って そこにセルがインサートされるみたいなやつを作りたくて 検索してみたけど実装する方法がみつからない。 あれってどうやればいいんだろう…。 もうちょっと探してみる。 UITableViewで「ほかの??件を読み込む」を実装する方法がわからない - clouderのiPhoneアプリを公開するまでの日記 - iPhoneアプリ開発グループ 「次の??件…」を表示するために最初のデータ件数+1をテーブルビューの行数とします。 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NS
次に示すような見出しと各カラムが右寄せ、ラベルの文字数によってカラムの幅が伸縮し、広くなった場合は隣の列を押し出し、短くなった場合は少なくとも見出しの幅に収まり、各列の間には一定のマージンを置くというテーブルレイアウトを、静的なAuto Layoutの制約だけで作ることを考えます。 このような、UIコンポーネントが持つコンテンツの大きさによって隣接するコンポーネントを押し出すような場面ではAuto Layoutがとても効果的に働きます。 Auto Layoutなしで実現しようとすると、列ごとの各行の文字幅を計算し、最大の幅に合わせて再配置する、という処理をコンテンツが変わるたびに行うということになりますが、Auto Layoutの制約を使用する場合ではそもそもレイアウトの再計算を自分でやる必要はないので、コンテンツの変わったタイミングなどを気にする必要はありません。 ただデータを再代入する
長いテキストが初期表示では折りたたまれて表示されていて、「つづきを読む」ボタンを押すことで表示エリアが拡大して全文が表示されるという挙動を、できるだけ動的な要素を排除して実現してみます。 サンプルコードは下記のリポジトリで公開しています。 github.com 今回の例ではUIStackViewを活用します。UIStackViewは内部のビューのisHiddenプロパティによってビューのサイズをゼロにできるので、うまく活用すればあたかも複数のレイアウトを切り替えているような挙動を実現できます。 テキストビュー(またはラベル)の左右両端と上端が一致するようにStack Viewに制約を付けます。 さらにテキストビューとStack Viewの高さが一致する制約を付けます。 Stack Viewの中のビューに高さの制約として折りたたんだときのサイズを指定します。例では200ptです。 テキストの
ひとつのデザインが事実上の標準となり、その後の基本パターンを変えてしまうことがあります。変わった後ではそれが当たり前となってしまい、その標準に始まりがあったことなど誰も気にしなくなるのです。また振り返ってみたとしても、それがなかった頃の感覚に立ち戻ることはできないので、もはや何がどう新しかったのかを実感することは難しいのです。 2007年に iPhone が発売され、その一年後に日本で iPhone 3G が発売されてから今日(2018年7月11日)でちょうど10年が経ちました。この10年間でスマートフォンやそのアプリを介したオンラインサービスは瞬く間に普及し、私たちのモバイルコンピューティング、コミュニケーション、ソーシャルメディア、Eコマースなどの態様が大きく変化したのは周知のとおりです。 iPhone のデザインは多くの面で新しいものでした。そしてその大部分がその後のスマートフォンの
UITextFieldにはplaceholderがありますが、UITextViewにはありません。 今回は、UITextViewでもplaceholderを使えるように、新しいクラスを作って見ました。 実装方法 UITextViewを継承した新しいClass(ファイル)を作成 UITextViewにCustomClassとしてPlaceHolderTextViewを指定 ソースコードでplaceholderの文字と文字色を指定 import UIKit public class PlaceHolderTextView: UITextView { lazy var placeHolderLabel:UILabel = UILabel() var placeHolderColor:UIColor = UIColor.lightGray var placeHolder:NSString = ""
更新情報 2018/7/1:基本サンプルにAVSpeechSynthesizerSample、HomeScreenQuickActionsSample、PeekAndPopSampleを追加。 2019/9/23:全サンプルをXCode10.3、Swift5に対応 はじめに カスタムセルを使ったCollectionViewの表示、手を止めずに作れますか? TableViewCellを伸び縮みさせたり、視覚効果を与えたりする、、、何も調べずに作れますか?? おそらく開発業務に携わっているほとんどの方は(僕を含めて)新規に何かを作成する場合にネットで該当するサンプルコードを探していると思います。 そしてサンプルを探すことに時間がかかり、「調べる時間 > 作る時間」の状態になっているのではないでしょうか。 ならば「あるある」な画面や機能のサンプル一式を実行確認できる状態にして全体共有しておけば開
これでbutton1とbutton2の同時タップは禁止される。 再帰的に適用する こんな感じで簡単にできるものなのだが、いかんせん 面倒な上に設定漏れがあったらアウト である。 そもそも 同時タップを有効にしたい方が稀 なので、デフォルトですべての同時タップを禁止したいくらいである。 というわけで以下のように再帰的に適用するコードを書くと便利な気がした。 import UIKit extension UIViewController { func exclusiveAllTouches() { self.exclusiveTouches(self.view) } private func exclusiveTouches(view: UIView) { // 再帰関数 for view in view.subviews { let aView = view as UIView aView.
前書き 何かと最近 iOS 界隈では設計の話が流行ってるようで、乗るしかない、このビッグウェーブに自分が今まで開発してきた経験と今使っている設計を一回整理してまとめるチャンスでもあると思って、この記事を執筆させていただきました。長々と駄文を垂れ流してますがどうか温かい目で見守っていただけると幸いです。 また、あらかじめ断っておきますと、筆者が今使ってる設計は一昨年書いたこの振り返り記事に基づいた MVC モデルから派生したものです。 なぜ未だに MVC 「未だに」という言葉には語弊を感じる方もいるかもしれません、が、最近の iOS 界隈ではやはり Clean Architecture とか VIPER とかの設計がとても話題になっているのも事実なんじゃないかと思います。そうでなくても、MVVM や MVP もじわじわと着実に浸透していると感じております。少なくともハッカソンをいくつか参加し
状況 ViewController(以降VC)間の遷移において、NavigationBarの戻るボタンを画面ごとにカスタムしたい こうやる こんな場面を例に VC_A → VC_B の時は、戻るボタンのテキストを"hoge_AtoB"にしたい。 VC_A → VC_C の時は、戻るボタンのテキストを"fuga_AtoC"にしたい。 また、VC_A → VC_C の時は、戻る時に処理を行ったり、遷移をキャンセルしたりもしたい。 実装 class VC_A: UIViewController, UINavigationControllerDelegate { override func viewDidLoad() { super.viewDidLoad() navigationController?.delegate = self } func navigationController(_ n
override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. tableView.delegate = self extension ViewController: UITableViewDelegate { //func scrollViewDidScroll(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) { func scrollViewDidScroll(_ scrollView: UIScrollView) { // 下部でロードをしていいか、判定する let contentSize = scrollView.contentS
なんとかWWDC2018が始まる前に投稿できた。 ここではWWDC2017のDrag and Drop with Collection and Table Viewの中身を日本語訳していきます。日本語的に少し不自然なところは後から直します。 概要 Table View, Collection ViewでのDrag & Dropの活用事例を紹介するために写真アプリを作って説明しています。このアプリではアルバム間(Table ViewとCollection View間)で写真の移動や並び替えができます。 UICollectionView、UITableViewにおけるDrag & DropのAPIには次の特徴があります: cellとindex pathに焦点を当てている アニメーションを用意に実装でき、かつそれがtable view、collection viewで一貫している 非同期でのデー
A view that embeds web content in your app.
UITableView の見た目で様々な要素を表示しつつ、その一部として UITextView を使いたい、という需要があると思う。最も身近な例は標準のメールアプリである。 これは UIKit の API を駆使することで実現可能である。本記事ではこれを実現する方法を通して、あまり知られていないであろう UIKit の機能について紹介する。 UITextView の intrinsic content size Auto Layout において、UIView は自身が表示されるためにちょうどよいサイズを知っている。具体的には var intrinsicContentSize: CGSize である(Swift 3.0 では property で、Swift 2.3 まではメソッドである)。このサイズは他の NSLayoutConstraint と関連して、デフォルトではプライオリティ 75
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く