2012-01-25 7 views
1

私は完全な完成したiPhoneプロジェクトを持っています。 ローカライズする必要があります。 Macで初めて、Xcodeと目的Cで初めて。私はそこでかなり失われています。とにかく、私はラベルの価値を変えようとしています(私の最初の仕事)。IPhone SDK:コードでインターフェースビルダーで作成したラベルを変更する

「Interface builder」に入ると、ファイル.xibがあります。私はそれをクリックし、私はいくつかの "オブジェクト"(画像、ラベルなど)とのインターフェイスを参照してください。次に、ラベルをクリックすることができます...テキスト値を変更するにはどうすればよいですか?私は...どこにもUILabelはありません、対応する.Mおよび.hファイルに

を見てきました(私はXcodeの4.2を使用)

UPDATE: 私は、ダブルクリックしてテキストを変更することができましたInterface Builderのオブジェクト。今度は、コード内のテキストを変更する必要があります。

UPDATE 2 私はJeroenのソリューションを使用してこれを実行できました。ここで

は、いくつかの精度です:

あなたはIBoutlet UILabel * mylabelというを追加する必要があります。 @interface YourViewController部の括弧内の部分は

@propertyは

@synthesize部分は.mファイル

[myLableリリース内の「緩い」になり.hファイル内の緩い行きます]; .mファイルの「のviewDidLoad」メソッド内

self.myLabel.text = [NSString stringWithFormat:@"Test..."]; 

:一部は、コード内のテキストを変更するには.mファイル

の方法(無効)deallocを内部に入る、私はこのコードを追加しました。

そして、ドラッグ&ドロップを行うには:

  1. は(Interface Builderで)「オブジェクト」ボックス内のラベルを探す
  2. 右ラベルをクリックして、小さな黒いがあるはずですポップアップ
  3. ポップアップ内の "New Referencing Outlet"の右側に小さな円があります。それはあなたがドラッグすることができることです。これを「プレースホルダ」ボックスの「ファイルの所有者」アイテムにドラッグアンドドロップします。

答えて

1

UILabelのテキストを変更するには、手動で.h en .mファイルに追加してから、インタフェースビルダー経由で結合する必要があります。 IBOutlet UILabel *myLabel;

例えば、それの.mあなたが合成すべきファイルとのdeallocで@property (nonatomic, retain) IBOutlet UILabel *myLabel;

からプロパティを作る:カップルそれをするには

あなたの.hファイルでIBoutletを追加する必要があります。

例えば、@synthesize myLabel;

[myLabel release]; 

その後あなたが「ファイルの所有者」

に正しいラベルに「新規の参照アウトレット」右のそれをクリックすることにより、ソースファイル名にXIBからUILabelを接続し、接続できるようになりますしかし、それはiOS上での翻訳がどのように行われるべきかではありません。ここではとてもうまく説明しています。 http://developer.apple.com/internationalization/

アップルは、言語ごとにxibを作成することを推奨しています。 xibをローカライズするには、右クリックして[ファイルをローカライズ可能]をクリックします。これを済ませたら、新しい言語を追加するために、[Add Localization]というボタンをクリックします。

あなたのアプリがかなり安定していることを確認してください。異なる言語で最新のものを保つことはかなり面倒です。

+0

を助け、私は、アプリをローカライズするためにいくつかの「解決策」があることがわかります。私はちょうど簡単な仕事を最初に割り当てています;) とにかく、どうやって「手動で追加するのですか?」とインターフェイスビルダー経由でどのように「結合しますか? – mrmuggles

+0

その情報を含むように私の返信を更新しました:-) –

1

xcode 4.2のインターフェイスビルダーで本当にお手伝いします。あなたがする必要があるのは、あなたのストーリーボードとコントローラを見ることができるようにXcodeをセットアップすることです。

ctrlキーを押しながら、ラベルをクリックしてドラッグします。線が現れます。この行をView Controllerの.hエディタにドラッグして放します。名前を尋ねるポップアップが表示されます。 uiLabelのように、あなたの好きなものを呼び出してください。

ここで、View Controller .mファイルに戻ります。そこに呼ばれるのviewDidLoadで方法がない場合は、1を作成します。

-(void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view, typically from a nib. 

    self.uiLabel.text = @"hello world!"; 
} 

この方法は、あなたのビューが画面に表示しようとするたびに呼び出されます。ラベルにテキストを追加するには、上記のコードを実装します。

hereを試してその仕組みを確認してください。

ホープザッツ「を直接IBのオブジェクトとあなたのコードファイル間の接続を確認します」に下る

+0

私は行でドラッグできますが、ポップアップが表示されません:( アプリが正しく行われていない可能性がありますか? – mrmuggles

+0

リンゴガイドにリンクが追加されました助けてください –

+0

私のWindowsは、docのように配置されていません、私はインターフェイスビルダーと同時にコードが表示されません...私はそれを把握しようとしています – mrmuggles

関連する問題