iOS 开发笔记和技巧总结 (三)

来源:互联网 发布:js统计字符串出现次数 编辑:程序博客网 时间:2024/06/09 17:51
设置UISearchBar的背景颜色

mySearchBar.backgroundColor = RGBACOLOR(249,249,249,1);
    mySearchBar.backgroundImage = [self imageWithColor:[UIColor clearColor] size:mySearchBar.bounds.size];
 
//取消searchbar背景色
- (UIImage *)imageWithColor:(UIColor *)color size:(CGSize)size
{
    CGRect rect = CGRectMake(0, 0, size.width, size.height);
    UIGraphicsBeginImageContext(rect.size);
    CGContextRef context = UIGraphicsGetCurrentContext();
     
    CGContextSetFillColorWithColor(context, [color CGColor]);
    CGContextFillRect(context, rect);
     
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
     
    return image;

}


//iphone开发之获取系统字体
+ (NSArray*)getAllSystemFonts;
{
    NSMutableArray *array = [[[NSMutableArray alloc] init] autorelease];
    NSArray* familys = [UIFont familyNames];
 
    for (id obj in familys) {
        NSArray* fonts = [UIFont fontNamesForFamilyName:obj];
        for (id font in fonts)     
        {
            [array addObject:font];
        }
    }
    return array; 
}
 
+ (UIFont*)getCurrentFont
{
    //判断系统字体的size,返回使用的字体。
    UIFont *font = [UIFont systemFontOfSize:[UIFont systemFontSize]];
    return font;
}

实现声音开关的代码

  这段代码非常实用。
//Settings.h
CCMenuItem *soundOnItem;
    CCMenuItem *soundOffItem;
    CCMenuItemToggle *soundToggleItem;
//Settings.m
-(void) soundButtonTapped: (id) sender
{
    if([CDAudioManager sharedManager].mute == TRUE){
        [CDAudioManager sharedManager].mute = FALSE;
    }
    else {
        [CDAudioManager sharedManager].mute = TRUE;
    }
}
-(id)init{
    if((self=[super init])){
        self.isTouchEnabled = YES;
        soundOnItem = [CCMenuItemImage itemFromNormalImage:@"soundon1.gif" selectedImage:@"soundon1.gif" target:nil selector:nil];
        soundOffItem = [CCMenuItemImage itemFromNormalImage:@"soundoff1.png" selectedImage:@"soundoff1.png" target:nil selector:nil];
        soundToggleItem = [CCMenuItemToggle itemWithTarget:self selector:@selector(soundButtonTapped:) items:soundOnItem, soundOffItem, nil];
        CCMenu *bottomMenu = [CCMenu menuWithItems:soundToggleItem, nil];
        bottomMenu.position = ccp(25,95);
        [self addChild: bottomMenu];
    }
    return self;
}


利用苹果自带相机进行录像的代码


 这段利用苹果自带相机进行录像的代码对开发的应用中用到拍照、摄像功能的开发者应该有所帮助。
-(void) choosePhotoBySourceType: (UIImagePickerControllerCameraCaptureMode) sourceType
{
    m_imagePickerController = [[[UIImagePickerController alloc] init] autorelease];
    m_imagePickerController.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
    m_imagePickerController.sourceType = UIImagePickerControllerSourceTypeCamera;
    m_imagePickerController.cameraDevice = UIImagePickerControllerCameraDeviceFront;
    //m_imagePickerController.cameraCaptureMode = UIImagePickerControllerCameraCaptureModeVideo;
    
    
    NSArray *sourceTypes = [UIImagePickerController availableMediaTypesForSourceType:m_imagePickerController.sourceType];
    if ([sourceTypes containsObject:(NSString *)kUTTypeMovie ])
    {
        m_imagePickerController.mediaTypes= [NSArray arrayWithObjects:(NSString *)kUTTypeMovie,(NSString *)kUTTypeImage,nil];
    }    
    
    
   // m_imagePickerController.cameraCaptureMode = sourceType;
    //m_imagePickerController.mediaTypes
    //imagePickerController.allowsEditing = YES;
    
    [self presentModalViewController: m_imagePickerController animated:YES];

}

-(void) takePhoto
{
    if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) 
    {
            
        
        [self choosePhotoBySourceType:nil];
    }
}


// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
    [super viewDidLoad];
    
    UIButton *takePhoto = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    [takePhoto setTitle:@"录像" forState:UIControlStateNormal];
    [takePhoto addTarget:self action:@selector(takePhoto) forControlEvents:UIControlEventTouchUpInside];
    takePhoto.frame = CGRectMake(50,100,100,30);
    [self.view addSubview:takePhoto];
}


0 0
原创粉丝点击