CGRect screenBound = [[UIScreen mainScreen] bounds]; CGSize screenSize = screenBound.size; CGFloat screenWidth = screenSize.width; CGFloat screenHeight = screenSize.height;
Здесь вы найдете ответы на нестандартные вопросы по платформам MacOS X и iOS, включая программирование на XCODE.
четверг, 6 сентября 2012 г.
Примеры кода в XCode: Как узнать разрешение экрана в iPhone/iPad
Примеры кода Xcode: Программное создание кнопки
- (void)viewDidLoad
{
[super viewDidLoad];
UIButton *submitbutton = [UIButton buttonWithType:UIButtonTypeCustom];
submitbutton.frame = CGRectMake(165, 20, 149, 39);
[submitbutton setTitle:@"Submit Booking" forState:UIControlStateNormal];
UIImage * btnImage1 = [UIImage imageNamed:@"KeyUpBackground.png"];
[submitbutton setImage:btnImage1 forState:UIControlStateNormal];
UIImage * btnImage2 = [UIImage imageNamed:@"KeyDownBackground.png"];
[submitbutton setImage:btnImage2 forState:UIControlStateHighlighted];
[submitbutton addTarget:self action:@selector(submitBookingButtonPressed) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:submitbutton];
}
-(void)submitBookingButtonPressed
{
NSLog(@"pressed");
}
четверг, 30 августа 2012 г.
Отключаем ARC в некоторых файлах в XCode
ARC (Automatic Reference Count) был реализован в XCode 4.2. Это означает что вам больше не придется использовать конструкции вида release, autorelease, или retain в вашем коде. Это намного упрощаем жизнь программистам, но в тоже время усложняет при копировании кода , написанного для более ранних версий Xcode. И как раз тут и возникают ошибки типа 'release' is unavailable: not available in automatic reference counting mode или ARC forbids explicit message send of 'release'
или ARC forbids explicit message send of 'autorelease'. Здесь я предлагаю решение данной проблемы.
1. Выберите свой проект в Project Navigator и далее на Target
2. Во вкладке "Build Phases" разверните "Compile Sources"
3. Далее щелкните 2 раза по нужному файлу напишите в открывшемся поле " -fno-objc-arc" без кавычек.
1. Выберите свой проект в Project Navigator и далее на Target
2. Во вкладке "Build Phases" разверните "Compile Sources"
3. Далее щелкните 2 раза по нужному файлу напишите в открывшемся поле " -fno-objc-arc" без кавычек.
вторник, 28 августа 2012 г.
Пример кода Xcode: объединение строк
NSString *hello = @"hello"; NSString *world = @" world"; NSString *phrase = [hello stringByAppendingString:world];
Примеры кода Xcode: Int to String
int myInt = 10; NSString *stringWithInteger = [NSString stringWithFormat: @"%d", myInt];
Примеры кода Xcode: простой класс
Приведу пример простого класса автомобиля со свойствами и методом
Файл класса "car.h":
//
// car.h
// simple
//
// Created by Nikita Rukavkov on 28.08.12.
// Copyright (c) 2012 Nikita Rukavkov. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface SimpleCar : NSObject {
NSString* make;
NSString* model;
NSNumber* vin;
}
@property(readwrite, retain) NSString* make;
@property(readwrite, retain) NSString* model;
@property(readwrite, retain) NSNumber* vin;
// convenience method
- (void) setMake: (NSString*)newMake
andModel: (NSString*)newModel;
@end
Файл класса "car.m"
//
// car.m
// simple
//
// Created by Nikita Rukavkov on 28.08.12.
// Copyright (c) 2012 Nikita Rukavkov. All rights reserved.
//
#import "car.h"
@implementation SimpleCar
@synthesize make, model, vin;
- (void) setMake: (NSString*)newMake
andModel: (NSString*)newModel {
[self setMake:newMake];
[self setModel:newModel];
}
@end
Пример вызова:
car *myCar = [[car alloc] init];
[myCar setMake:vendor andModel:model];
NSLog(@"The car is: %@ %@", [myCar make], [myCar model]);
Примеры кода Xcode: NSString to Integet
У класса NSString есть замечательный метод, который возвращает значение строки в типе NSNumber.
Пример:
NSString *vin_m = [[NSString alloc] init]; vin_m = @"1234567890"; NSNumber *newVin = [NSNumber numberWithInt:[vin_m intValue]];
Примеры кода Xcode: объявляем тип integer (класс NSNumber)
NSNumber *newVin = [NSNumber numberWithInt:123];
Примеры кода Xcode: объявляем строку в Objective C
Пример 1:
NSString *testString; testString = [[NSString alloc] init]; testString = @"Here's a test string in testString!"; NSLog(@"testString: %@", testString);Пример 2:
NSString* make=[[NSString alloc] initWithString:@"Test string"];
суббота, 11 августа 2012 г.
Клавиша insert в Mac OS X или как выделить файлы в mc
Работая удаленно через ssh с Linux-серваками в файловом менеджере midnight commander(mc) часто возникает необходимость выделить некоторые файлы. Но тут возникает проблема - в беспроводной клаве Apple нет такой клавиши. Чтобы обойти это достаточно использовать комбинацию Ctrl+T.
Подписаться на:
Сообщения (Atom)

