スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
このエントリーをはてなブックマークに追加

[iOS]UIViewを円形に配置する

/**
* viewsを半径radiusで円形に等間隔で配置する。
* 配置時の中心点はviews内の各UIViewの座標値に準ずる。
* arg1: views :同一座標値のUIViewを複数個持つ配列
* arg2: radius:円形に配置する際の半径
*/
- (void)viewsPositionCircle :(NSArray **)views Radius:(float)radius {
//引数が空の場合は終了
NSArray *__views = *views;
if(!__views || [__views count]==0)return;
float divideAngle = 360/[__views count];
for (int i=0; i<[__views count]; i++) {
//座標値を求める
float angle = (divideAngle*(i+1));
double rad = (M_PI*2)/(360/angle);
double x = cos(rad)*radius;
double y = sin(rad)*radius;
//座標値を設定する
UIView *view = [__views objectAtIndex:i];
view.frame = CGRectMake(CGRectGetMinX(view.frame) + roundf(x),
CGRectGetMinY(view.frame) + roundf(y),
CGRectGetWidth(view.frame), CGRectGetHeight(view.frame));
}
}


利用する時は、viewsのUIViewを座標値(0,0)にしてから任意のcenterを設定すると良いです。
このエントリーをはてなブックマークに追加

コメントの投稿

非公開コメント

Translation


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。
プロフィール

チーズくん

Author:チーズくん
個人的メモをただ羅列しています。
twitter:@cheese1038

バロメーター
最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。