UILabelの背景に画像を使う

NSString *path = [[NSBundle mainBundle] pathForResource:@"gazou" ofType:@"png"];

UIImage *image = [UIImage imageWithContentsOfFile:path];

lbl_gazou.backgroundColor = [UIColor colorWithPatternImage:image];



UIImageViewの背景にタイルパターン

意外と知らなかったタイルパターンの描画方法。

imv_bg = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 380)];

imv_bg.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"icon57.png"]];

[self.view addSubview:imv_bg];


アチーブメント機能をつけてみる

.h

#import <GameKit/GameKit.h>


@interface ViewController : UIViewController<

GKAchievementViewControllerDelegate

>


// ユーザー認証

- (void) authenticateLocalPlayer;

// アチーブメント報告

-(void)reportAchievementIdentifier: (NSString*) identifier percentComplete:(float) percent;

// アチーブメント表示

- (void) showAchievements;

- (void)achievementViewControllerDidFinish:(GKAchievementViewController *)viewController;



.m


// 初期化

[self authenticateLocalPlayer];


- (void)showAchievements

{

    GKAchievementViewController *achievements = [[GKAchievementViewController alloc] init];

    if (achievements != nil)

    {

        achievements.achievementDelegate = self;

        [self presentModalViewController: achievements animated: YES];

    }

}


-(void)achievementViewControllerDidFinish:(GKAchievementViewController *)viewController

{

    [self dismissModalViewControllerAnimated:YES];

}


-(void)reportAchievementIdentifier: (NSString*) identifier percentComplete:(float) percent

{

    GKAchievement *achievement = [[GKAchievement alloc] initWithIdentifier: identifier];

    if (achievement)

    {

        achievement.percentComplete = percent;

        [achievement reportAchievementWithCompletionHandler:^(NSError *error)

         {

             if (error != nil)

             {

             }

         }];

    }

}


icon dimensions (0 x 0) とかで理不尽なワーニング - 解決

アプリを申請しようとしてアーカイブしたら妙なワーニングが出た。

warning: iPhone/iPod Touch: icon114.png: icon dimensions (0 x 0) don't meet the size requirements.  The icon file must be 57x57 pixels, in .png format (-19014)

icon114.pngは間違いなく(114 x 114)のpngファイルだし
登録の手順も場所も間違ってない。

ってか、(114 x 114)のはずなのに(0 x 0)だと言われ、
更に(57 x 57)にしろとか言ってる?

英語力はからっきしだから小生の解釈が間違ってるのかもしてないけど、
どうもエラーの意味がオカシイ気がする。

で、ちょっと調べてみたら先日のOSアップデートが原因らしいね。


既に解決法も案内されてるし。

いやぁ、アセったなぁ。(- -;)

UIViewの角を丸めたり、影をつけたり

QuartzCoreをインポートしといて、

#import <QuartzCore/QuartzCore.h>


// 角を丸める

imv_a.layer.cornerRadius = 10;


// 影をつける

imv_a.layer.shadowOpacity = 1.0; // 影の濃さ

imv_a.layer.shadowOffset = CGSizeMake(3, 3); // 影の位置

imv_a.layer.shadowRadius = 2; // 0でくっきり、大きくするとモヤモヤ



UIViewの角を丸めたり、ふち線をつけたり

QuartzCoreをインポートしといて、

#import <QuartzCore/QuartzCore.h>


// 角を丸める

[[lbl_debug layer] setCornerRadius:10.0];

[lbl_debug setClipsToBounds:YES];


// ふち線をつける

[[lbl_debug layer] setBorderColor:[[UIColor greenColor] CGColor]];

[[lbl_debug layer] setBorderWidth:3.0];



タッチしたときの座標取得

- (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

{

UITouch *touch = [touches anyObject];

CGPoint location = [touch locationInView:self.view];

[super touchesBegan:touches withEvent:event];

NSLog(@"タッチ開始 %0.1f, %0.1f", location.x, location.y);    

}


-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event

{

UITouch *touch = [touches anyObject];

CGPoint location = [touch locationInView:self.view];

[super touchesBegan:touches withEvent:event];

NSLog(@"タッチ中 %0.1f, %0.1f", location.x, location.y);  

}


- (void) touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event

{

UITouch *touch = [touches anyObject];

CGPoint location = [touch locationInView:self.view];

[super touchesBegan:touches withEvent:event];

NSLog(@"タッチ終了 %0.1f, %0.1f", location.x, location.y);  

}


#defineって便利ダナ!

.mファイル内、
#import文の下に、

#define HENSU 10

とか書いとくと、
以下、HENSUが10に差し替わる。

今回限りの定数とかに使うと便利〜!
って今更知った。

ちなみに文字列の場合は、
#define moji @"あいうえお"

Xcode4.2(iOS5)にしたらワーニングが2つ!

以前は問題なかったプロジェクトが
Xcode4.2にしたとたんワーニングが出るようになった。

で、なんじゃこりゃって思って調べてみたら
対応バージョンに対する互換性の問題らしいね。

解決法としては、
「Build Settings」の「architectures」に「armv6」も追加しとけばOK。

あー、びっくりした…。

iPhoneアプリにadmob設置

久しぶりにadmob使ってみたら何かうまくいかなかったんで覚書。

設定法変わったのかな?

以下手順。

・フレームワーク追加。
 AudioToolbox
 MessageUI
 SystemConfiguration

・ヘッダに
#import "GADBannerView.h"

@interface〜

GADBannerView *bannerView_;

・- (void)viewDidLoad{に
bannerView_ = [[GADBannerView alloc] initWithFrame:CGRectMake(0,430,320,50)];
bannerView_.adUnitID = @"xxxxxxxxxxxxxxx";  // アプリのパブリッシャーID
bannerView_.rootViewController = self;
[self.view addSubview:bannerView_];
[bannerView_ loadRequest:[GADRequest request]];

・- (void)viewDidUnload{に
[bannerView_ release];
 


ロリポップ!レンタルサーバー

写真素材とか販売なう!


search this site.

calendar

S M T W T F S
  12345
6789101112
13141516171819
20212223242526
2728293031  
<< May 2018 >>

selected entries

categories

archives

links

profile

others

mobile

qrcode

powered

無料ブログ作成サービス JUGEM