2

私のアプリでは、CGRectFromString を使用して UIButton の位置を設定したいと考えています。私のコードはそのように

NSString *g = @"{0,0},{100, 100}";
CGRect rect = CGRectFromString(g);
self.button1.frame = rect;

しかし、仕事ではありません。私が見逃しているもの、またはそれはアップルのバグですか??

4

4 に答える 4

5

これを使用してフレームを設定できます。正常に動作します。このリンクをたどってCGRectに目を向けてください

CGRect optionsFrame = {{0, 0}, {100, 100}};
self.button1.frame = optionsFrame;  

または、本当に使用したい場合はCGRectFromString、相馬の変更を行ってください

NSString *g = @"{{0,0},{100, 100}}"; 

お分かりできると良いのですが..:)

于 2012-10-06T07:37:34.210 に答える
2

このようにしてみてください....

NSString *g = @"{{0,0},{100, 100}}";
CGRect rect = CGRectFromString(g);
self.button1.frame = rect;
于 2012-10-06T07:43:19.407 に答える
2

それはパフォーマンスの点で悪い考えです。ランタイムを使用CGRectFromNSStringすると文字列を解析する必要があり、コストがかかります。この四角形が本当に一定である場合は、次のシングルライナーを使用する必要があります。

CGRect optionsFrame = (CGRect){{0, 0}, {100, 100}};

キャスト(CGRect)は、コンパイラの苦情や警告を防ぐためにここにあります。

于 2012-10-06T07:48:07.307 に答える
0

なぜ使用しないのCGRectMakeですか?

self.button1.frame = CGRectMake(0,0,100,100);
于 2012-10-06T11:11:21.173 に答える