UIViewController *targetView = [[self.navigationController viewControllers] objectAtIndex:0];
//0(root)〜depth
UIViewController *targetView = [[self.navigationController viewControllers] objectAtIndex:0];
//0(root)〜depth
link색깔을 바꿀수도 있음.
height 조절할 때, 먼저 최대화 해준후, sizeToFit
OHAttributedLabel
- (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target withString:(NSString *)replacement
http://stackoverflow.com/questions/668228/string-replacement-in-objective-c
[webView setBackgroundColor:[UIColor clearColor]];
[webView setOpaque:NO];
CGSize textViewSize = [text sizeWithFont:[UIFont fontWithName:@"Marker Felt" size:20]
constrainedToSize:CGSizeMake(WIDHT_OF_VIEW, FLT_MAX)
lineBreakMode:UILineBreakModeTailTruncation];
** 페이스북
프로필이미지 구하기
http://graph.facebook.com/[facebook id]/picture?type=large
small 50x50
normal 100x100
large 180x180
** 트위터
http://a0.twimg.com/profile_images/3441454604/cffb106a40dd3b574fdc6b6424944c34_normal.jpeg
url의 normal을 bigger나 mini로 바꾸어주면 이미지를 얻을수 있다.
bigger : 73 x 73
normal : 48 x48
mini : 24 x 24
사용하려는 클래스의 .m파일 끝에 붙이면 됨.
@implementation UITextView (DisableCopyPaste)
- (BOOL)canBecomeFirstResponder
{
return NO;
}
@end
http://stackoverflow.com/questions/1426731/how-disable-copy-cut-select-select-all-in-uitextview
git commit --amend -m "your new message"
http://stackoverflow.com/questions/179123/how-do-i-edit-an-incorrect-commit-message-in-git
NSArray *cells = self.tableView.visibleCells;
for(UITableViewCell *cell in cells){
cell.userInteractionEnabled = NO;
}
*** 이렇게 하면 보이는 셀만 잠근다.
스크롤 하면 재사용해서 셀을 돌리기 때문에 꼬인다.
셀을 생성하는 구문도 수정필요.
textview.editable = NO;
textview.dataDetectorTypes = UIDataDetectorTypeAll;
// ****** gesture recognizers ******
{ // single tap
UITapGestureRecognizer *single_tap_recognizer;
single_tap_recognizer = [[[UITapGestureRecognizer alloc]
initWithTarget : table_view_controller
action : @selector(upper_button_view_tapped:)]
autorelease];
[single_tap_recognizer setNumberOfTouchesRequired : 1];
[u_buttons_view addGestureRecognizer : single_tap_recognizer];
// double tap
UITapGestureRecognizer *double_tap_recognizer;
double_tap_recognizer = [[[UITapGestureRecognizer alloc]
initWithTarget : table_view_controller
action : @selector
(upper_button_view_double_tapped:)]
autorelease];
[double_tap_recognizer setNumberOfTouchesRequired : 2];
[single_tap_recognizer requireGestureRecognizerToFail : double_tap_recognizer];
[u_buttons_view addGestureRecognizer : double_tap_recognizer];
http://stackoverflow.com/questions/8876202/uitapgesturerecognizer-single-tap-and-double-tap
UIView *a = ...
CGRect target = a.frame;
a.frame = CGRectMake(target.origin.x, target.origin.y, target.size.width, target.size.height);
간단히..
CGRect target = a.frame;
target.origin.x = 0;
target.size.width = 100;
a.frame = target;
Localize를 위한 스트링파일 읽기.
self.title = NSLocalizedString(@"MainViewTitle", @"");
http://userflex.wordpress.com/2011/10/20/localized-strings-xcode4/
Album Privacy 설정 경고창을 표시.
(설정안하면 경고창, 설정했으면 표시안함)
iOS6이상.. (5이하는 앨범프라이버시 설정이 안된다)
ALAssetsLibrary *lib = [[ALAssetsLibrary alloc] init];
[lib enumerateGroupsWithTypes:ALAssetsGroupSavedPhotos usingBlock:^(ALAssetsGroup *group, BOOL *stop) {
NSLog(@"%i",[group numberOfAssets]);
} failureBlock:^(NSError *error) {
if (error.code == ALAssetsLibraryAccessUserDeniedError) {
NSLog(@"user denied access, code: %i",error.code);
}else{
NSLog(@"Other error code: %i",error.code);
}
}];
http://stackoverflow.com/questions/13572220/ask-permission-to-access-camera-roll
<script type="text/javascript">
function a(){
alert('Alert');
}
</script>
<input type="button" value="click me" onclick="a();" >
NSString *str = @"{\"flg\":\"1\"}";
NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];
NSError *err = nil;
id result = [NSJSONSerialization JSONObjectWithData:data options:0 error:&err];
NSDictionary *dic = result;
NSString *p1 = [dic objectForKey:@"flg"];
NSLog(@"%@", p1);
AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
if([device hasTorch])
{
...
}
http://stackoverflow.com/questions/15247175/how-to-find-out-camera-flash-is-available-in-iphone
//뷰가 로드될때, UITextField에 placeholder의 폰트 사이즈 지정
//UITextFieldDelegate
- (BOOL)textFieldShouldClear:(UITextField *)textField{
//placehoder사이즈를 UITextField에 지정
return YES;
}
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
...
NSString *changedStr = [textField.text stringByReplacingCharactersInRange:range withString:string];
if([changedStr isEqualToString:@""]){
//placehoder사이즈를 UITextField에 지정
}else{
//입력문자 사이즈를 UITextField에 지정
}
return YES;
}
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
...
NSString *changedStr = [textField.text stringByReplacingCharactersInRange:range withString:string];
return YES;
}
UILabel이 중앙정렬때문에 레이아웃이 자꾸깨져 짜증남.
sizeToFit로 해결됨. 아주 깨끗히
UILabel
sizeToFit
http://stackoverflow.com/questions/1054558/vertically-align-text-within-a-uilabel
- (BOOL) connectedToInternet
{
NSString *URLString = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://www.google.com"]];
return ( URLString != NULL ) ? YES : NO;
}
stringWithContentsOfURL <- 요놈이 deprecated됨.
NSError* error = nil;
NSString* text = [NSString stringWithContentsOfURL:TheUrl encoding:NSASCIIStringEncoding error:&error];
if( text )
{
NSLog(@"Text=%@", text);
}
else
{
NSLog(@"Error = %@", error);
}
NSObject에 <UIWebViewDelegate>선언하고
웹뷰의 델레게이트에 연결해도 안먹길래..
뭔가 수상해서.
UIViewController에 <UIWebViewDelegate> 선언하고,
거기에 델레게이트 연결하니까 먹더라.
... 델레게이트 구현하는 곳이 뷰컨트롤러여야되나?...
NSURLRequest initWithURL:cachePolicy:timeoutInterval
cachePolicy: NSURLCacheStorageNotAllowed
하거나
[[NSURLCache sharedURLCache] removeCachedResponseForRequest:targetRequest];
하면 된다고 하는데?
label.numberOfLines = 3;
label.lineBreakMode = UILineBreakModeWordWrap;