Ask questions, find answers and collaborate at work with Stack Overflow for Teams. Explore Teams Collectives™ on Stack Overflow Find centralized, trusted content and collaborate around the technologies you use most. Learn more about Collectives
I did not find an equivalent question on stackoverflow, so I'll post my own question on that problem (please tell me if something is not understandable): Problem: I use a common indexed tableView with section headers from A-Z (like in the contacts.app) in a custom UITableViewController. I override tableView:viewForHeaderInSection: to provide my own section-header views. When the user scrolls the t
これが一番簡単っぽい。 self.tableView.tableFooterView = [[[UIView alloc] init] autorelease]; 例えば UITableView を使っていて、 self.tableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine; のように境界線をONにしているとき、 画面の高さに対して、 UITableView の高さが足りてない(セルの要素数が足りてない)とき、空のセルが余白を埋めるかのように表示されてしまう。境界線なしのときは気にならないんだけど、境界線があると気になる。というか表示したくない。 検索してみるとStack Overflowがよく引っかかるんだけど、どうも解決策がまちまちで、例えば、 viewDidLoad 内で、 self.tableView.
The UITableView below has custom UITableViewCells and I can adjust the separators fine using this line in the custom UITableViewCell: self.separatorInset = UIEdgeInsetsMake(0, kDefaultSeparatorLeftInset, 0, 0); However the cell at the bottom of the section has a default separator that overrides the custom UIEdgeInsets that I set. I'd like all the separators to be the same width, is there any way o
iPhoneでもiOS4以降サポートされたGrand Central Dispatchを使うと、マルチスレッドを使ったプログラムが簡単に作れます。WWDC 2010のビデオ(#206, #211) を見て何となく判った気になったのですが、まだクリアでない点があったので自分でコードを書いてみました。 私の理解では、Grand Central Dispatch(GCD)はには マルチプロセッサを有効に使える、並列プログラムを簡単に書ける 操作性を高める、並行処理を簡単に書ける の2つの目的があると思います。ここでは 2. に付いて書きます。 1.については Wikipediaの The second exampleが参考になると思います。 今回のサンプル ここでは、Twitterのpublic timelineを取得し、つぶやきとアイコンを表示するプログラムを、スレッドをまったく使わないコード
前回書いた「iOS 7から追加されたDynamic Typeを使ってみた」の続編です。 新しくわかったこと 前回は「UIFontDescriptor を使う必要がある」と書きましたが、その後の調査で + (UIFont *)preferredFontForTextStyle:(NSString *)style メソッドを使えば Dynamic Type に対応できることがわかりました。 このメソッドではフォントのサイズではなく、スタイルを定義します。*1スタイルには次の値を指定できます。 UIFontTextStyleHeadline UIFontTextStyleBody UIFontTextStyleSubheadline UIFontTextStyleFootnote UIFontTextStyleCaption1 UIFontTextStyleCaption2 各スタイルがどのよう
今回はUITableViewクラスについて疑問に思うことを書いてみようと思います。 主な疑問UITableViewクラスを使う際に毎回、カスタムセルを使ったほうがいいのかなとずっと悩んでいました。 結論カスタムセルについて色々しらべて以下の記事にたどり着きました。 UITableViewについて | ios-practice/docs/tableview.rst - GitHub 先に結論を書いてしまうのですが、 カスタムセルはなるべく使うようにする ということ。 なぜかというと上の参考記事からその理由を抜粋すると(少し長いですが)、 最初の表示更新メソッドが利用しにくくなることや dequeueReusableCellWithIdentifier: によるセルのキャッシュも利用しくくなるため、 UITableViewCellのサブクラス(いわゆるカスタムセル)を作り、Cellの拡張したV
こちらのページで知ったのですが、下記のように書いておけばビューが表示されるたびにリロードされ、かつ初回表示時に二重にリロードされてしまうこともないらしいです。 - (void)viewWillAppear:(BOOL)animated { [self.tableView reloadData]; [super viewWillAppear:animated]; } なぜなら、 UITableViewControllerのviewWillAppear:メソッドでは、まだデータがロードされていない状態の時にだけ、reloadDataを呼び出すよう、実装されているようです。 とのこと。 これ知らなくてフラグ立てて管理してました・・・
I am inserting/deleting table cell using insertRowsAtIndexPaths/deleteRowsAtIndexPaths wrapped in beginUpdates/endUpdates. I am also using beginUpdates/endUpdates when adjusting rowHeight. All these operations are animated by default. How can I detect that animation has ended when using beginUpdates/endUpdates?
こんにちは、豪(たけし)です。 UITableViewでの縦スクロールが妙に重いケース、良くありますね。 今回はHotel.jpのiPhoneアプリで縦スクロールをスムーズに高速に動かすために 行っていることをご紹介します。 Hotel.jpアプリのホテルの検索結果画面では、1つのセルの中にテキストラベルが 15個+画像2つ、しかもテキストラベル14個は画面左のタブを押すと横移動も するといういかにも重そうなインターフェースなのですが、iPhone4であれば スムーズに縦スクロールします。 検索結果画面 動画(30~40秒目が検索結果画面です) ここ苦労したんです・・・。実装方法をざっとお話します。 最初は楽をしてやろうとUITableViewCellのNibを作ったのですが、 1つのセルにUILabelを15個並べて更に横に移動するようにすると もうスクロールと
http://cocoatouch.sblo.jp/article/26626578.html みたいなことをGCD+Blocksでやってみた記録。コメントは間違っているかもしれない。実際のコードの抜粋で、tableView:cellForRowAtIndexPath:内のコードである。itemSpecはNSDictionaryであり、Amazonから引っ張った商品データや画像URLが入っている。 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { // (中略。cellの準備や再利用コード) // 表示すべきデータの読み込み NSMutableDictionary *itemSpec = [search_results object
Update アップデート4/17/2013 Xcode4.6、及びARCに対応しました。(オリジナル投稿者:Ray Wenderlichアップデート投稿者:Brian Moakley)。 このチュートリアルは初めての”Core Graphics”シリーズ第3弾、実践的なプロジェクトを例に”Core Graphics”を学びましょう! シリーズ・パート1では、Table Viewのセルの背景をカスタマイズする事で線の引き方と長方形、グラデーションの作成方法を学びました。 In the シリーズ・パート2では、Table Viewのセルの”header”をカスタマイズする事で、影とグロスエフェクトの作成方法を学びました。 このチュートリアルでは”footer”と少しのスパイスを加える事でTable Viewを完成させます。加えて”アーク(円弧)”の描画と”クリップ”や”パス”を使う方法を学び
アップデート4/16/2013 Xcode4.6、及びARCに対応しました。(オリジナル投稿者:Ray Wenderlichアップデート投稿者:Brian Moakley)。 このチュートリアルは実践的な”Core Graphics”チュートリアル•シリーズの第2回目となります。 The シリーズ、パート1 のチュートリアルでは、Table View Cellの背景色を作成する事で、線と四角形とグラデーションの描画を勉強しましたね。 今回のチュートリアルではTable Viewの”header”のカスタマイズに移りたいと思います。今回学ぶ事は前回のチュートリアルで学んだ知識をより強固なものにして影の描写と”グロス•エフェクト”になります。 もし必要なら前回のチュートリアルのサンプルプロジェクトをダウンロードしてください。 それでは、始めます! Table Viewカスタマイズの次なるステッ
アップデート4/15/2013 Xcode4.6、及びARCに対応しました。(オリジナル投稿者:Ray Wenderlichアップデート投稿者:Brian Moakley)。 “Core Graphics”はiOSに於いて非常に優れたAPIなんです。これを使う事によってもの凄くカッコ良くUIをカスタマイズする事が出来るんです。これが使える様になれば、グラフィック担当のアーティストなんか必要なくなります。 でも、多くのiOS開発者が、何故か”Core Graphics”に対して最初は威圧感を感じます。それは、あまりに広大なAPIであるという事と、開発途中に思わぬ障害に巻き込まれる事があるからです。 これは、チュートリアルですから、”Core Graphics”に対して多くの開発者が感じるちょっとだけ取っ付きにくい感を、これから一緒に作成するプロジェクトを通して払拭して行きたいと思います。まず
デフォルトのUITableViewCellの背景が白くてのっぺりでいまいち味気ないと思い、背景にグラデーションを付けてかっこよく見せる方法を調べてみました。単純に別途用意した背景画像をbackgroundViewに表示してもよいのですが、Cocoa Touchの2Dグラフィックスライブラリにはグラデーションを描画するためのCGGradientというクラスが最初から用意されています。さっそく私もパクってインスパイアされてやってみました。 参考にしたページはこちら。 http://developer.apple.com/documentation/graphicsimaging/conceptual/drawingwithquartz2d/dq_shadings/dq_shadings.html#//apple_ref/doc/uid/TP30001066-CH207-TPXREF101 ■ど
これを消すには UITableViewDelegate を使う。 - (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath { return UITableViewCellEditingStyleNone; } - (BOOL)tableView:(UITableView *)tableView shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath { return NO; } アイコンを消す(UITableViewCellEditingStyleNone)と共に、インデントしない設定を行っている。 するとこうなる。わかりずらいが編集モ
スワイプの処理 RootViewController にUIGestureRecognier を左右両方向について登録しておく。 - (void)viewDidLoad { [super viewDidLoad]; : UISwipeGestureRecognizer* swipeGesture = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(didSwipeCell:)]; swipeGesture.direction = UISwipeGestureRecognizerDirectionRight; [self.tableView addGestureRecognizer:swipeGesture]; [swipeGesture release]; swipeGesture = [[UIS
I'm using the following method to add a new row in my table: [tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:newIndexPath] withRowAnimation:UITableViewRowAnimationFade]; However I would like to execute another function after this has finished and the row is effectively present in the table. Is this possible to do?
今回は項目を実際に削除します。 なんですが…、その前に、ちょっと勉強。 この花は?アプリでは、投稿した人に投稿文と、それについたコメントを削除する権限を持たそうと思ってまして、そのため現在操作しているユーザが投稿した項目は削除可能、そうでない項目は削除不可としたいわけです。 つまり、こうしたいわけですわ。 って、どーやったのー。それー、それくださいって思った人、ラッキーです。 結構簡単に実装できるんですな。 というのは、UITableViewDataSourceの継承クラス(今回ならFirstViewControllerクラス)がtableView:canMoveRowAtIndexPath:メソッドを実装している場合、UITableViewはNSIndexPathで指定する項目は編集可能か問い合わせてくるんですな。 なので、編集可能にしたい項目だった時だけYESを返し、そうでなければNO
I've searched for hours on Google and Stackoverflow, tried them but no luck. I have a UITableView tblDepartment and a UISearchBar studentSearch above it. I add a UITapGestureRecognizer to dismiss the keyboard from studentSearch textbox when users tap outside the search box: UITapGestureRecognizer *gestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(hideKeyboard
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く