タグ付けされた質問 「cocoa-touch」

iOSアプリを駆動するCocoa Touch Frameworksは、Macに見られる多くの実績のあるパターンを共有しますが、タッチベースのインターフェースと最適化に特に重点を置いて構築されました。


9
UITableView行アニメーションの継続時間と完了のコールバック
UITableView行アニメーションの期間を指定する方法、またはアニメーションが完了したときにコールバックを取得する方法はありますか? アニメーションが完了したら、スクロールインジケーターを点滅させます。その前にフラッシュを行っても何も起こりません。これまでのところ、私が持っている回避策は0.5秒遅らせることです(これはデフォルトのアニメーション期間のようです)、すなわち: [self.tableView insertRowsAtIndexPaths:newRows withRowAnimation:UITableViewRowAnimationFade]; [self.tableView performSelector:@selector(flashScrollIndicators) withObject:nil afterDelay:0.5];

8
UITabBarItem画像を下に移動しますか?
通常、の各タブにUITabBarは、小さな画像とタブに名前を付けるタイトルがあります。画像は、タブの上部に向かって配置/中央揃えされ、下部のタイトルに対応します。私の質問です:画像だけでタイトルがないtabBarが必要な場合、画像を下に移動してタブの中央に配置する方法はありますか? 現在使用しています(以下を参照): [tabBarItem setFinishedSelectedImage:tabSelected withFinishedUnselectedImage:tabUnselected]; しかし、タイトルのない大きな画像を使用することを好むでしょう。現時点で画像を約70pixels @ 2xより大きくするUITabBarと、下部に多くの未使用のスペースが残り、上部から縁取られ始めます。


16
「iTunes Storeに接続できません」アプリ内購入
アプリ内購入のテストに問題があります。有効な製品IDを受け取りましたが、購入すると、恐ろしい「iTunes Storeに接続できません」というメッセージが表示されます。興味深いことに、購入の復元は機能するようです-iTunesログインがポップアップします。 私は持っています:-アプリ内購入が販売用にクリアされていることを確認しました-ソースコードをチェックし、Appleのドキュメントと同期するように再確認しました-適切なテストユーザーを追加しました-アプリIDにワイルドカードが含まれていません-アプリ内購入はにリンクされていますアプリ(アプリ自体は開発者の拒否状態にあり、購入は送信の準備ができています)-待機中-アプリの再インストール、解決策のソリューション、すべてのブードゥー教材

14
現在のページを取得する
スクロールビューで、表示されている現在のページを取得したいと思います(ページが正しい用語ではない可能性があります)。これを保持する変数が見つかりません。しかし、インジケーターはスクロールビューのどのサブビューが現在表示されているかを示すことができるので、どこかで保持されている必要があると思います。 これは完全に私たちから隠されていますか、それとも私がそれにアクセスする方法はありますか?

7
サブビューがビュー内にあるかどうかを確認する
で使用するビューにサブビューを追加するアプリを作成しaddSubview:ていIBActionます。同じように、そのボタンIBActionが再度タッチremoveFromSuperviewされたときに、その上に追加されたサブビューを呼び出す必要がありますIBAction。 疑似コード -(IBAction)showPopup:(id)sender { System_monitorAppDelegate *delegate = (System_monitorAppDelegate *)[[UIApplication sharedApplication] delegate]; UIView *rootView = delegate.window.rootViewController.view; if([self popoverView] is not on rootView) { [rootView addSubview:[self popoverView]]; } else { [[self popoverView] removeFromSuperview]; } }

5
transitionWithView内でrootViewControllerを変更するとビューがリークする
メモリリークを調査しているときsetRootViewController:に、遷移アニメーションブロック内で呼び出す手法に関連する問題を発見しました。 [UIView transitionWithView:self.window duration:0.5 options:UIViewAnimationOptionTransitionFlipFromLeft animations:^{ self.window.rootViewController = newController; } completion:nil]; 古いビューコントローラー(置き換えられるビューコントローラー)が現在別のビューコントローラーを提示している場合、上記のコードは提示されたビューをビュー階層から削除しません。 つまり、この一連の操作... Xがルートビューコントローラーになる XはYを表すので、Yのビューは画面上に表示されます を使用transitionWithView:してZを新しいルートビューコントローラにする ...ユーザーには問題ないように見えますが、Debug View Hierarchyツールは、YのビューがZのビューの背後、つまり内にまだあることを明らかにしUITransitionViewます。つまり、上記の3つのステップの後、ビューの階層は次のようになります。 UIWindow UITransitionView UIView(Yのビュー) UIView(Zのビュー) 移行時に、Xのビューは実際にはビュー階層の一部ではないため、これは問題だと思います。 のdismissViewControllerAnimated:NO直前にX に送信するtransitionWithView:と、結果のビュー階層は次のようになります。 UIWindow UIView(Xのビュー) UIView(Zのビュー) dismissViewControllerAnimated:X に送信(YESまたはNO)した場合、completion:ブロックで遷移を実行すると、ビュー階層が正しくなります。残念ながら、それはアニメーションを妨害します。解雇をアニメーション化する場合、それは時間を浪費します。アニメーション化しないと、壊れているように見えます。 私は他のいくつかのアプローチ(たとえば、ルートビューコントローラーとして機能する新しいコンテナービューコントローラークラスを作成する)を試していますが、機能するものは何も見つかりません。この質問は随時更新していきます。 最終的な目標は、提示されたビューから新しいルートビューコントローラーに直接移行することです。

14
MKMapViewまたはUIWebViewオブジェクトのタッチイベントをインターセプトする方法は?
私は何が間違っているのかわかりませんが、私はタッチをキャッチしようとします MKMapViewオブジェクトにます。次のクラスを作成してサブクラス化しました。 #import <UIKit/UIKit.h> #import <MapKit/MapKit.h> @interface MapViewWithTouches : MKMapView { } - (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *) event; @end そして実装: #import "MapViewWithTouches.h" @implementation MapViewWithTouches - (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *) event { NSLog(@"hello"); //[super touchesBegan:touches withEvent:event]; } @end しかし、このクラスを使用すると、コンソールには何も表示されないようです。 MapViewWithTouches *mapView = [[MapViewWithTouches alloc] initWithFrame:self.view.frame]; [self.view insertSubview:mapView atIndex:0]; 私が間違っていることは何か考えていますか?

4
2つのCGRectの比較
ビューのフレームが特定のCGRectと等しいかどうかを確認する必要がありました。私はそれを次のようにしてみました: CGRect rect = CGRectMake(20, 20, 20, 20); if (self.view.frame == rect) { // do some stuff } しかし、と言うエラーが出ましたInvalid operands to binary expression('CGRect' (aka 'struct CGRect') and 'CGRect')。2つCGRectのを単純に比較できないのはなぜですか?

4
Xcodeでget-task-allowは何をしますか?
そのため、iPhoneアプリプロジェクトで資格を設定するときに、新しいEntitlements.plistを作成し、get-task-allowの値をfalseに設定します。しかし、なぜ?このキーは何を表していますか? 編集する これはこの質問に関連していることに注意してください-このキーの値をtrueにフリップすることで、デバイスにアプリをインストールできることがわかりました)

7
プログラムによってツールバーをiPhoneキーボードの上に配置する
いくつかのケースでは、iPhoneキーボードの上部にツールバーを追加したいと思います(たとえば、フォーム要素をナビゲートしているときのiPhone Safariのように)。 現在、ツールバーの長方形を定数で指定していますが、インターフェイスの他の要素が流動的であるため、ツールバーと画面上部のナビゲーションバーです。インターフェイスに小さな変更を加えるたびに、ツールバーが整列しなくなります。 現在のビューに対するキーボードの位置をプログラムで決定する方法はありますか?

1
ファイルが存在するかどうかをテストする簡単な方法は何ですか?
iPhoneアプリのドキュメントディレクトリ(またはそのためのパス)にファイルが存在するかどうかをすばやく確認したいと思います。ディレクトリのファイルを列挙するか、特定のファイルを開こうとすることができます。最速の方法は何ですか?ファイルが存在するか、存在しないかを知る必要があります。

18
「wait_fences:応答の受信に失敗しました:10004003」?
次のコード行が原因で、ビューが最初に(そして初めてだけ)この不可解なエラーを受け取ります。 - (void)viewWillAppear:(BOOL)animated { [textField becomeFirstResponder]; } これにより、アプリが応答しなくなったように感じるために、顕著な遅延(シミュレータでも約3〜4秒)が発生します。誰かがこれを修正する方法を知っていますか?Appleのサイト、またはここやGoogleで解決策に関するドキュメントが見つかりません。 奇妙なことに、私がの-viewDidAppear:代わりに行を入れると、反対の状況が起こり-viewWillAppear:ます。つまり、最初にキーボードが表示されたときにのみエラーを出力するのではなく、2回目以降にエラーを出力するのではなく、エラーは初回ではなく毎回出力されます。これは私にとって大きな頭痛の種です。

17
iPhoneの向きを設定するための文書化された方法はありますか?
特定のビューでデバイスの回転をサポートしたいアプリがありますが、他のビューでは横向きモードでは特に意味がないため、ビューを交換して強制的に回転を縦向きに設定します。 トリックを実行するUIDeviceには、ドキュメント化されていないプロパティセッターがありますが、明らかにコンパイラ警告を生成し、SDKの将来のリビジョンで消える可能性があります。 [[UIDevice currentDevice] setOrientation:UIInterfaceOrientationPortrait]; オリエンテーションを強制する文書化された方法はありますか? 更新: shouldAutorotateToInterfaceOrientationを既に実装しているため、shouldAutorotateToInterfaceOrientationを探していないので、例を提供すると思いました。 アプリがビュー1では横向きと縦向きをサポートし、ビュー2では縦向きのみをサポートしたいのですが、すべてのビューにshouldAutorotateToInterfaceOrientationを既に実装していますが、ユーザーがビュー1で横向きモードになっていてビュー2に切り替えた場合は、スマートフォンを回転させて縦向きに戻します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.