タグ付けされた質問 「objective-c」

このタグは、Objective-C機能に関する質問または言語のコードに依存する質問でのみ使用する必要があります。タグ[cocoa]および[cocoa-touch]は、Appleのフレームワークまたはクラスについて質問するために使用する必要があります。これらのプラットフォームに固有の問題には、関連タグ[ios]、[macos]、[apple-watch]、および[tvos]を使用します。

9
UITableViewから区切り線を削除する方法はありますか?
プレーンモードのときにUITableViewの区切り線を完全に削除する方法を探しています。これは自動的にグループ化されて行われますが、これにより、測定が困難な方法でテーブルのディメンションが変更されます。区切り線の色をcolorClearに設定しました。しかし、これで問題が完全に解決するわけではありません。 セルにカスタム背景ビューを描画しようとしていて、セルをシームレスにしたいので、その間に残っている1ピクセルの線が問題を引き起こしています。グループ化されたビューを使用してからストレッチするよりエレガントな回避策はありますか?

22
UIWebViewが垂直方向に「バウンド」しないようにしますか?
UIWebViewが垂直方向にバウンドしないようにする方法を知っている人はいますか?つまり、ユーザーがiphone画面に触れて指を下方向にドラッグすると、ロードしたWebページの上にWebビューに空白のスポットが表示されます。 私は以下の可能な解決策を見ましたが、それらのどれも私にとってうまくいきませんでした: http://www.iphonedevsdk.com/forum/iphone-sdk-development/996-turn-off-scrolling-bounces-uiwebview.html http://forums.macrumors.com/showthread.php?t=619534 UIScrollViewが水平方向にバウンドしないようにするにはどうすればよいですか?

30
ナビゲーションバーの「戻る」ボタンのタイトルを変更する方法
現在、左バーボタンのデフォルト値は、現在のビューをロードしたビューのタイトル、つまり、ボタンが押されたときに表示されるビュー(戻るボタン)です。 ボタンに表示されるテキストを別のテキストに変更したい。 次のコード行をビューコントローラーのviewDidLoadメソッドに挿入しようとしましたが、機能していないようです。 self.navigationItem.leftBarButtonItem.title = @"Log Out"; 私は何をすべきか? ありがとう。


9
カスタムUITableViewCellsの高さの設定
表示するラベル、ボタン、画像ビューがいくつかあるカスタムUITableViewCellを使用しています。テキストがNSStringオブジェクトであるセルには1つのラベルがあり、文字列の長さは可変である可能性があります。このため、UITableViewのheightForCellAtIndexメソッドではセルに一定の高さを設定できません。セルの高さは、NSStringのsizeWithFontメソッドを使用して決定できるラベルの高さに依存します。使ってみましたがどこかうまくいかないようです。どうすれば修正できますか? セルの初期化に使用されるコードは次のとおりです。 if (self = [super initWithFrame:frame reuseIdentifier:reuseIdentifier]) { self.selectionStyle = UITableViewCellSelectionStyleNone; UIImage *image = [UIImage imageNamed:@"dot.png"]; imageView = [[UIImageView alloc] initWithImage:image]; imageView.frame = CGRectMake(45.0,10.0,10,10); headingTxt = [[UILabel alloc] initWithFrame: CGRectMake(60.0,0.0,150.0,post_hdg_ht)]; [headingTxt setContentMode: UIViewContentModeCenter]; headingTxt.text = postData.user_f_name; headingTxt.font = [UIFont boldSystemFontOfSize:13]; headingTxt.textAlignment = UITextAlignmentLeft; headingTxt.textColor = [UIColor blackColor]; dateTxt = …

8
APIを実装するときに、ブロック内で自己をキャプチャしないようにするにはどうすればよいですか?
動作するアプリがあり、Xcode 4.2でそれをARCに変換する作業をしています。チェック前の警告の1つは、selfブロックを強くキャプチャして保持サイクルにつながることです。この問題を説明するために、簡単なコードサンプルを作成しました。私はこれが何を意味するのか理解していると思いますが、このタイプのシナリオを実装するための「正しい」または推奨される方法がわかりません。 selfはクラスMyAPIのインスタンスです 以下のコードは、私の質問に関連するオブジェクトとブロックとの相互作用のみを示すように簡略化されています MyAPIがリモートソースからデータを取得し、MyDataProcessorがそのデータを処理して出力を生成すると仮定します。 プロセッサは、進行状況と状態を伝えるためのブロックで構成されています コードサンプル: // code sample self.delegate = aDelegate; self.dataProcessor = [[MyDataProcessor alloc] init]; self.dataProcessor.progress = ^(CGFloat percentComplete) { [self.delegate myAPI:self isProcessingWithProgress:percentComplete]; }; self.dataProcessor.completion = ^{ [self.delegate myAPIDidFinish:self]; self.dataProcessor = nil; }; // start the processor - processing happens asynchronously and the processor is released in …

7
NSURLSessionを使用してPOSTリクエストを送信する
更新:解決策が見つかりました。投稿の最後で読むことができます。 を使用してリモートREST APIへのPOSTリクエストを実行しようとしていますNSURLSession。アイデアは、deviceIdおよびの2つのパラメーターを使用してリクエストを行うことtextContentです。 問題は、これらのパラメーターがサーバーによって認識されないことです。Google ChromeのPOSTMANを使用してPOSTを送信したため、サーバー部分は正しく機能し、完全に機能しました。 これは私が今使っているコードです: NSString *deviceID = [[NSUserDefaults standardUserDefaults] objectForKey:@"deviceID"]; NSString *textContent = @"New note"; NSString *noteDataString = [NSString stringWithFormat:@"deviceId=%@&textContent=%@", deviceID, textContent]; NSURLSessionConfiguration *sessionConfiguration = [NSURLSessionConfiguration defaultSessionConfiguration]; sessionConfiguration.HTTPAdditionalHeaders = @{ @"api-key" : @"API_KEY", @"Content-Type" : @"application/json" }; NSURLSession *session = [NSURLSession sessionWithConfiguration:sessionConfiguration]; NSURL *url = [NSURL URLWithString:@"http://url_to_manage_post_requests"]; NSMutableURLRequest …

30
Xcodeでのアーキテクチャx86_64の重複シンボル
上記のタイトルで同じ質問がありますが、正しい答えはまだ見つかりません。エラーが発生しました: /Users/nle/Library/Developer/Xcode/DerivedData/TestMoboSDK-Client-cgodalyxmwqzynaxfbbewrooymnq/Build/Intermediates/TestMoboSDK-Client.build/Debug-iphonesimulator/TestMoboSDK-Client.build/Objects-normal/x86_64/MoboSDK.o /Users/nle/Library/Developer/Xcode/DerivedData/TestMoboSDK-Client-cgodalyxmwqzynaxfbbewrooymnq/Build/Products/Debug-iphonesimulator/libMoboSDK.a(MoboSDK.o) duplicate symbol _OBJC_METACLASS_$_MoboSDK in: /Users/nle/Library/Developer/Xcode/DerivedData/TestMoboSDK-Client-cgodalyxmwqzynaxfbbewrooymnq/Build/Intermediates/TestMoboSDK-Client.build/Debug-iphonesimulator/TestMoboSDK-Client.build/Objects-normal/x86_64/MoboSDK.o /Users/nle/Library/Developer/Xcode/DerivedData/TestMoboSDK-Client-cgodalyxmwqzynaxfbbewrooymnq/Build/Products/Debug-iphonesimulator/libMoboSDK.a(MoboSDK.o) ld: 75 duplicate symbols for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) どんな助けでもありがたいです。 最後に、 私がに追加-ObjCしたこのエラーの原因を見つけましたOther Linker Flags。この値を削除すると、プロジェクトを正常にビルドできますが、理由はわかりません。誰かがこれを説明できますか?
219 ios  objective-c  xcode5 

26
iOS 7.0での無効なコンテキスト0x0とシステムの劣化
私はこの恐ろしい問題について見つけることができる多くの検索結果を読みましたが、残念ながら、それぞれが特定の関数呼び出しに焦点を当てているようです。 私の問題は、複数の関数から同じエラーが発生することです。これは、使用している関数からコールバックされていると思います。 さらに悪いことに、実際のコードはカスタムプライベートフレームワーク内にあり、別のプロジェクトにインポートされているため、デバッグはそれほど単純ではありませんか? 誰かが私を正しい方向に向けることができますか?特定のメソッドを間違って、または不適切なコンテキストで呼び出しているように感じますが、現時点では、xcodeからの出力はあまり役に立ちません。 :CGContextSetFillColorWithColor:無効なコンテキスト0x0。これは重大なエラーです。このアプリケーションまたはそれが使用するライブラリは、無効なコンテキストを使用しているため、システムの安定性と信頼性の全体的な低下の原因となっています。この通知は礼儀です:この問題を修正してください。今後のアップデートで致命的なエラーになります。 :CGContextSetStrokeColorWithColor:無効なコンテキスト0x0。これは重大なエラーです。このアプリケーションまたはそれが使用するライブラリは、無効なコンテキストを使用しているため、システムの安定性と信頼性の全体的な低下の原因となっています。この通知は礼儀です:この問題を修正してください。今後のアップデートで致命的なエラーになります。 CGContextSaveGState:無効なコンテキスト0x0。これは重大なエラーです。このアプリケーションまたはそれが使用するライブラリは、無効なコンテキストを使用しているため、システムの安定性と信頼性の全体的な低下の原因となっています。この通知は礼儀です:この問題を修正してください。今後のアップデートで致命的なエラーになります。 :CGContextSetFlatness:無効なコンテキスト0x0。これは重大なエラーです。このアプリケーションまたはそれが使用するライブラリは、無効なコンテキストを使用しているため、システムの安定性と信頼性の全体的な低下の原因となっています。この通知は礼儀です:この問題を修正してください。今後のアップデートで致命的なエラーになります。 :CGContextAddPath:無効なコンテキスト0x0。これは重大なエラーです。このアプリケーションまたはそれが使用するライブラリは、無効なコンテキストを使用しているため、システムの安定性と信頼性の全体的な低下の原因となっています。この通知は礼儀です:この問題を修正してください。今後のアップデートで致命的なエラーになります。 :CGContextDrawPath:無効なコンテキスト0x0。これは重大なエラーです。このアプリケーションまたはそれが使用するライブラリは、無効なコンテキストを使用しているため、システムの安定性と信頼性の全体的な低下の原因となっています。この通知は礼儀です:この問題を修正してください。今後のアップデートで致命的なエラーになります。 :CGContextRestoreGState:無効なコンテキスト0x0。これは重大なエラーです。このアプリケーションまたはそれが使用するライブラリは、無効なコンテキストを使用しているため、システムの安定性と信頼性の全体的な低下の原因となっています。この通知は礼儀です:この問題を修正してください。今後のアップデートで致命的なエラーになります。 :CGContextGetBlendMode:無効なコンテキスト0x0。これは重大なエラーです。このアプリケーションまたはそれが使用するライブラリは、無効なコンテキストを使用しているため、システムの安定性と信頼性の全体的な低下の原因となっています。この通知は礼儀です:この問題を修正してください。今後のアップデートで致命的なエラーになります。 これらのエラーは、カスタムビューまたはその継承クラスの1つが表示されたときに発生する可能性があります。その時点で、キーボードが入力を提供しなくなるまで、それらは複数回スポーンします。タッチイベントはまだ登録されていますが、システムの速度が低下し、最終的に未割り当てのオブジェクトエラーが発生する可能性があります。 編集#1:インポートされているフレームワークにアクセスできますが、問題の原因となっているクラスに奇妙なものは何もありません。 編集#2: iOS 7.1が開発者向けにリリースされたというメールを受信しました。これがなくなるか、悪化するか、解決できるかどうか知りたいです。

6
ストーリーボードで、複数のコントローラーで使用するカスタムセルを作成するにはどうすればよいですか?
作業中のアプリでストーリーボードを使用しようとしています。アプリにはリストとユーザーがあり、それぞれに他のコレクションが含まれています(リストのメンバー、ユーザーが所有するリスト)。だから、それに応じてListCellとUserCellクラスがあります。目標は、それらをアプリ全体で再利用できるようにすることです(つまり、私の任意のtableviewコントローラーで)。 ここで問題が発生します。 どのストーリーコントローラーでも再利用できるカスタムのテーブルビューセルをストーリーボードに作成するにはどうすればよいですか? これまでに私が試した具体的なことを次に示します。 コントローラー#1で、プロトタイプセルを追加し、クラスをUITableViewCellサブクラスに設定し、再利用IDを設定し、ラベルを追加して、それらをクラスのアウトレットに配線しました。コントローラー#2で、空のプロトタイプセルを追加し、同じクラスに設定して、以前と同じようにIDを再利用します。実行すると、コントローラー#2にセルが表示されるときにラベルが表示されません。コントローラー#1で正常に動作します。 各セルタイプを異なるNIBで設計し、適切なセルクラスに配線しました。ストーリーボードで、空のプロトタイプセルを追加し、そのクラスを設定して、自分のセルクラスを参照するためにIDを再利用しました。コントローラのviewDidLoadメソッドで、それらのNIBファイルを再利用IDに登録しました。表示すると、両方のコントローラーのセルはプロトタイプのように空でした。 両方のコントローラーのプロトタイプを空にしてクラスを設定し、IDを私のセルクラスに再利用します。セルのUIを完全にコードで構築しました。セルはすべてのコントローラーで完全に機能します。 2番目のケースでは、プロトタイプが常にNIBをオーバーライドしていると思います。プロトタイプセルを強制終了した場合、NIBを再利用IDに登録すると機能します。しかし、セルから他のフレームにセグエをセットアップすることはできません。これが、ストーリーボードを使用することの本質です。 結局のところ、ストーリーボードでテーブルビューベースのフローを配線し、コードではなく視覚的にセルレイアウトを定義するという2つのことが必要です。今のところ、両方を取得する方法はわかりません。

7
applicationWillEnterForeground対applicationDidBecomeActive、applicationWillResignActive対applicationDidEnterBackground
アプリケーションがバックグラウンドにあることからウェイクアップしていて、アプリケーションをアクティブにする準備をしたい場合に実装する適切なデリゲートはどれですか? applicationWillEnterForeground対applicationDidBecomeActive-違いは何ですか? アプリケーションがスリープ状態になり、データをクリーンアップして保存する準備をしたいときに実装する適切なデリゲートはどれですか。 applicationWillResignActive対applicationDidEnterBackground-違いは何ですか? また、着信SMSまたは通話が着信したときにapplicationWillResignActiveが呼び出されますが、ユーザーが[OK]をクリックして続行することを選択したことにも気付きました。このような場合、アプリでアクションを実行したくありません。ユーザーがアプリを終了しなかったため、中間的なクリーンアップを行わずに実行を継続したいだけです。したがって、applicationDidEnterBackgroundだけでクリーンアップ作業を行う方が理にかなっていると思います。 起床してスリープ状態にするために実装するデリゲートを選択し、SMS /通話によって中断されるようなイベントを検討する際に従うべきベストプラクティスについてのご意見をお待ちしています。 ありがとう



13
モーダルViewControllerプレゼンテーションスタイルがUIModalPresentationFormSheetの場合、iPadキーボードは閉じません。
注意: iOS 4.3以降の解決策については、承認された回答(上位投票ではない)を参照してください。 この質問は、iPadのキーボードで発見された動作に関するもので、ナビゲーションコントローラーのあるモーダルダイアログに表示された場合、その動作は却下されません。 基本的に、ナビゲーションコントローラーに次の行を表示すると、次のようになります。 navigationController.modalPresentationStyle = UIModalPresentationFormSheet; キーボードは却下されません。この行をコメントアウトすると、キーボードは正常に消えます。 ... ユーザー名とパスワードの2つのtextFieldがあります。ユーザー名には[次へ]ボタンがあり、パスワードには[完了]ボタンがあります。これをモーダルナビゲーションコントローラーに表示しても、キーボードは消えません。 WORKS broken *b = [[broken alloc] initWithNibName:@"broken" bundle:nil]; [self.view addSubview:b.view]; 動作しません broken *b = [[broken alloc] initWithNibName:@"broken" bundle:nil]; UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:b]; navigationController.modalPresentationStyle = UIModalPresentationFormSheet; navigationController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; [self presentModalViewController:navigationController animated:YES]; [navigationController release]; [b release]; ナビゲーションコントローラー部分を削除し、それ自体でモーダルビューコントローラーとして「b」を表示すると、機能します。ナビゲーションコントローラーに問題がありますか? WORKS …

24
選択したUITableViewセルの選択を解除する方法は?
特定のセルを事前選択する必要があるプロジェクトに取り組んでいます。 を使用してセルを事前選択でき-willDisplayCellますが、ユーザーが他のセルをクリックしたときに選択を解除することはできません。 - (void)tableView:(UITableView*)tableView willDisplayCell:(UITableViewCell*)cell forRowAtIndexPath:(NSIndexPath*)indexPath { AppDelegate_iPad *appDelegte = (AppDelegate_iPad *)[[UIApplication sharedApplication] delegate]; if ([appDelegte.indexPathDelegate row] == [indexPath row]) { [cell setSelected:YES]; } } - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { AppDelegate_iPad *appDelegte = (AppDelegate_iPad *)[[UIApplication sharedApplication] delegate]; NSIndexPath *indexpath1 = appDelegte.indexPathDelegate; appDelegte.indexPathDelegate = indexPath; [materialTable deselectRowAtIndexPath:indexpath1 animated:NO]; } 手伝ってくれますか?

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