快乐的鲸鱼

iOS开发周记 1

2015/12/06

更改桌面的icon消息通知的上标数字

1
2
//设置为0,不显示
[UIApplication sharedApplication].applicationIconBadgeNumber =0;

程序内的震动和声音

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//添加系统框架
#import <AudioToolbox/AudioToolbox.h>

-------------------调用方法-------------------
//调用震动
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);

//调用系统的声音
AudioServicesPlaySystemSound(1007); //1007是声音编号

//自定义音效
NSString *path = [[NSBundle mainBundle] pathForResource:@"message" ofType:@"wav"];
//组装并播放音效
SystemSoundID soundID;
NSURL *filePath = [NSURL fileURLWithPath:path isDirectory:NO];
AudioServicesCreateSystemSoundID((__bridge CFURLRef)filePath, &soundID);
AudioServicesPlaySystemSound(soundID);
//声音停止
AudioServicesDisposeSystemSoundID(soundID);

一起设置StatusBar和NavigationBar颜色

1
[[UINavigationBar appearance] setBarTintColor:[UIColor orangeColor]];

及时更新StatusBar和NavigationBar颜色

1
[viewController setNeedsStatusBarAppearanceUpdate];

多行的label

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
NSString * labelStr = @“你好,这是UILabel的自动换行测试内容,主要实现多行数据的自动换行,自适应不同行数的数据”;

CGSize labelSize = {0, 0};

labelSize = [labelStr sizeWithFont:[UIFont systemFontOfSize:14]

constrainedToSize:CGSizeMake(200.0, 5000)

lineBreakMode:UILineBreakModeWordWrap];
//14 为UILabel的字体大小
//200为UILabel的宽度,5000是预设的一个高度,表示在这个范围内

label.numberOfLines = 0;//表示label可以多行显示

label.lineBreakMode = UILineBreakModeCharacterWrap;//换行模式,与上面的计算保持一致。

label.frame = CGRectMake(label.frame.origin.x, label.frame.origin.y, label.frame.size.width, labelSize.height);//保持原来Label的位置和宽度,只是改变高度。

Xcode提示的错误

  • you are not authorized to use this service for provider

    这个可能是网络不好,多试一下就好了

CATALOG
  1. 1. 更改桌面的icon消息通知的上标数字
  2. 2. 程序内的震动和声音
  3. 3. 一起设置StatusBar和NavigationBar颜色
  4. 4. 及时更新StatusBar和NavigationBar颜色
  5. 5. 多行的label
  6. 6. Xcode提示的错误