デーとビッカーを使いお誕生日の星座を表示させるアプリです。
#import "ViewController.h"
@interface ViewController ()
@property (weak,nonatomic) IBOutlet UILabel *lbDisp;
// 画像表示
@property (weak,nonatomic) IBOutlet UIImageView *imHoro;
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
// [デーとビッカー]変更
- (IBAction)selctSeiza:(UIDatePicker *)sender
{
// 表示書式の設定
NSDateFormatter *df = [[NSDateFormatter alloc] init];
df.dateFormat = @"MMdd";
// 選択日時の表示
NSString *str = [df stringFromDate:sender.date];
// 数値変換
int mmdd = [str intValue];
// 星座判定 3月21日から3月31日以下 または 4月1日から4月19日まで
if ((mmdd >= 321 && mmdd <= 331) ||
(mmdd >= 401 && mmdd <= 419)) {
// 上記の2つの表示をメソッドを作り2つの引数を渡す方法
// setSeizaメソッド 2つの引数を渡す
[self setSeiza:@"牡羊座" :@"image/z0001"];
} else if ((mmdd >= 421 && mmdd <= 430) ||
(mmdd >= 501 && mmdd <= 519)) {
[self setSeiza:@"おうし座" :@"image/z0002"];
} else if ((mmdd >= 521 && mmdd <= 531) ||
(mmdd >= 601 && mmdd <= 619)) {
[self setSeiza:@"ふたご座" :@"image/z0003"];
} else if ((mmdd >= 621 && mmdd <= 630) ||
(mmdd >= 701 && mmdd <= 719)) {
[self setSeiza:@"かに座" :@"image/z0004"];
} else if ((mmdd >= 721 && mmdd <= 731) ||
(mmdd >= 801 && mmdd <= 819)) {
[self setSeiza:@"しし座" :@"image/z0005"];
} else if ((mmdd >= 821 && mmdd <= 831) ||
(mmdd >= 901 && mmdd <= 919)) {
[self setSeiza:@"おとめ座" :@"image/z0006"];
} else if ((mmdd >= 921 && mmdd <= 930) ||
(mmdd >= 1001 && mmdd <= 1019)) {
[self setSeiza:@"てんびん座" :@"image/z0007"];
} else if ((mmdd >= 1021 && mmdd <= 1031) ||
(mmdd >= 1101 && mmdd <= 1119)) {
[self setSeiza:@"さそり座" :@"image/z0008"];
} else if ((mmdd >= 1121 && mmdd <= 1130) ||
(mmdd >= 1201 && mmdd <= 1219)) {
[self setSeiza:@"いて座" :@"image/z0009"];
} else if ((mmdd >= 1221 && mmdd <= 1231) ||
(mmdd >= 101 && mmdd <= 119)) {
[self setSeiza:@"やぎ座" :@"image/z0010"];
} else if ((mmdd >= 121 && mmdd <= 131) ||
(mmdd >= 201 && mmdd <= 219)) {
[self setSeiza:@"みずがめ座" :@"image/z0011"];
} else if ((mmdd >= 221 && mmdd <= 228) ||
(mmdd >= 301 && mmdd <= 319)) {
[self setSeiza:@"うお座" :@"image/z0012"];
} else {
// 該当しない場合
self.lbDisp.text = @"日付が不正です。";
// 該当しない場合は空白(nil)を表示
self.imHoro.image = nil;
}
}
// 星座の表示
- (void)setSeiza:(NSString *)dispName
:(NSString *)fileName {
// 星座名
self.lbDisp.text = dispName;
// 星座画像
self.imHoro.image = [UIImage imageNamed:fileName];
}
@end
月日を4桁の数値に置き換えて判定出来るようにすることがポイントです。
// 表示書式の設定
NSDateFormatter *df = [[NSDateFormatter alloc] init];
df.dateFormat = @"MMdd";
// 選択日時の表示
NSString *str = [df stringFromDate:sender.date];
// 数値変換
int mmdd = [str intValue];
// 星座判定 3月21日から3月31日以下 または 4月1日から4月19日まで
if ((mmdd >= 321 && mmdd <= 331) ||
(mmdd >= 401 && mmdd <= 419)) {
// 上記の2つの表示をメソッドを作り2つの引数を渡す方法
// setSeizaメソッド 2つの引数を渡す
[self setSeiza:@"牡羊座" :@"image/z0001"];
GitHub Horoscope
▫️参考ページ
コメントをお書きください