我想自定义图像添加到MKMapView作为一个MKOverlayView-我需要从能够覆盖的范围之外滚动限制用户.有没有现成的功能呢?还是其他任何建议?
谢谢,马特
我有以下代码:
@interface NeighborProfileViewController : UIViewController {
UIImageView * profPic;
UITextView * text;
UIButton * buzz;
NSString * uid;
NSMutableData *responseData;
NSDictionary * results;
}
@property (nonatomic, retain) IBOutlet UIImageView * profPic;
@property (nonatomic, retain) IBOutlet UITextView * text;
@property (nonatomic, retain) IBOutlet UIButton * buzz;
@property (nonatomic, retain) NSString * uid;
@end
Run Code Online (Sandbox Code Playgroud)
下面是我在viewDidLoad对.m文件
@implementation NeighborProfileViewController
@synthesize uid;
@synthesize profPic;
@synthesize buzz;
@synthesize text;
// Implement viewDidLoad to do additional setup after loading the view, typically from …Run Code Online (Sandbox Code Playgroud) 我正在加载一个任意长度的HTML字符串,UIWebView然后显示在一个UITableViewCell.我不希望它UIWebView独立滚动,UITableView所以我必须调整其高度以适应内容.
这UITableViewCell也是可折叠的,没有显示UIWebView它处于折叠状态的时间.
问题是,我怎么知道这个高度是什么,以便我可以heightForRowAtIndexPath返回一个正确的值并允许表格正确查看和滚动?
这是一些示例代码:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.row == 0)
return 286;
if (indexPath.row == 1) {
if (analysisExpanded)
return analysisWebViewHeight + 39;
else
return 52;
}
if (sourcesExpanded)
return sourcesWebViewHeight + 39;
return 53;
Run Code Online (Sandbox Code Playgroud)
}
很简单.39是我在webview的单元格中的一些标题内容的高度.
我正在从一个笔尖加载单元格的"扩展视图",所以要获得我正在调用viewForTag的webview:
UIWebView* sourcesWebView = (UIWebView*)[cell viewWithTag:1];
[sourcesWebView setBackgroundColor:[UIColor clearColor]];
[sourcesWebView loadHTMLString:placeholder baseURL:[NSURL URLWithString:@"http://example.com/"]];
sourcesWebViewHeight = [[sourcesWebView stringByEvaluatingJavaScriptFromString:@"document.documentElement.scrollHeight"] floatValue];
[sourcesWebView setFrame:CGRectMake(sourcesWebView.frame.origin.x, sourcesWebView.frame.origin.y, sourcesWebView.frame.size.width, sourcesWebViewHeight)];
Run Code Online (Sandbox Code Playgroud)
sourcesWebViewHeight是由上面的代码更新的iVar …
我有四个UITableViews并排,以编程方式创建.问题1:第一个单元格始终为空白.问题2:当我向下滚动时,一些单元格是空白的.当我来回滚动时,其他细胞消失.
这是UITableViews创建它们的代码,它们的单元格被设置...
UITableViews在.m文件开头声明的数组:
UITableView* channel_tableView[ TOTAL_TX_CHANNELS ];
Run Code Online (Sandbox Code Playgroud)
在功能viewDidLayoutSubviews我创建UITableView:
for( int channel=0; channel < TOTAL_TX_CHANNELS; ++channel ){
CGRect tableFrame = CGRectMake(x, y, width, height);
channel_tableView[ channel ] = [[UITableView alloc]initWithFrame:tableFrame style:UITableViewStylePlain];
channel_tableView[ channel ].scrollEnabled = YES;
channel_tableView[ channel ].userInteractionEnabled = YES;
channel_tableView[ channel ].bounces = YES;
channel_tableView[ channel ].delegate = self;
channel_tableView[ channel ].dataSource = self;
channel_tableView[ channel ].autoresizingMask = UIViewAutoresizingFlexibleHeight|UIViewAutoresizingFlexibleWidth;
[channel_tableView[ channel ] reloadData]; // display channel's TableView
[[self …Run Code Online (Sandbox Code Playgroud) 每次我加载一个新页面时UIWebView,前面加载的页面会显示很短的时间.
我该如何清除缓存?另一种可能性是dealloc UIWebview.我试过了,但我UIWebView总是"空".应该如何alloc和dealloc在这种情况下怎么办?
我注意到它UIWebView消耗了大约10 MB RAM.现在UIWebView加载了ViewController.视图是自动释放的,UIWebView也是自动释放的.每次取消分配WebView不是更好吗?
解:
- (void) viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
CGRect frame = CGRectMake(0, 0, 320, 480);
self.webView = [[[UIWebView alloc]initWithFrame:frame] autorelease];
self.webView.scalesPageToFit = YES;
[self.view addSubview:self.webView];
}
- (void) viewDidDisappear:(BOOL)animated {
[super viewDidDisappear:animated];
[self.webView removeFromSuperview];
self.webView = nil;
}
Run Code Online (Sandbox Code Playgroud) 我有UIView一个UITextView和UITextField作为一个子视图.我希望键盘在textFieldShouldReturn通话时自动显示.
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
[textView becomeFirstResponder];
return YES;
}
Run Code Online (Sandbox Code Playgroud)
但是这不起作用并且出于某种原因,它在文本视图中的下一行显示带有光标的键盘.我试图在textview中设置文本nil,但它会自动调用textDidChange方法,光标在没有任何文本的新行上移动.

这同样的技术适用于a UITextField,它也适用于iOS 5.0,但如何在iOS 4.3中解决这个问题.如果您有任何其他选择,请告诉我.
我错过了一些明显的东西吗
我目前正在加载来自JSON该viewDidLoad方法中的服务的数据UITableViewController.问题是数据需要时间来检索和解析,视图需要时间来创建.加载此数据的最佳位置在哪里?我假设在创建视图后有一个钩子在某处加载数据.通过这样做,我将能够UIActivityIndicatorView在最终视图中使用一些.谢谢
我FMDatabaseQueue在我的iOS应用程序中使用.我一直在理解如何在创建队列时返回值.感谢您的帮助!!
FMDatabaseQueue *queue = [FMDatabaseQueue databaseQueueWithPath:aPath];
[queue inDatabase:^(FMDatabase *db) {
[db executeUpdate:@"INSERT INTO myTable VALUES (?)", [NSNumber numberWithInt:1]];
[db executeUpdate:@"INSERT INTO myTable VALUES (?)", [NSNumber numberWithInt:2]];
[db executeUpdate:@"INSERT INTO myTable VALUES (?)", [NSNumber numberWithInt:3]];
FMResultSet *rs = [db executeQuery:@"select * from foo"];
while ([rs next]) {
...
}
// I want value to be returned from here
}];
Run Code Online (Sandbox Code Playgroud) 我有一个应用程序,它使用Storyboards显示两个屏幕.第一个是列表(在屏幕截图中称为"Lista"),第二个是地图("Térkép").每个视图都有一个左右导航按钮.按右键将地图视图推送到导航控制器.后退按钮是从地图的viewDidLoad方法手动隐藏的.

问题是,为什么每个屏幕上的条形按钮项目大小不同?如何控制按钮的大小?
按钮上的图像大小相同.AppDelegate通过外观设置完成蒙皮:
// navbar background
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"bg-titlebar.png"]
forBarMetrics:UIBarMetricsDefault];
// navbar button background
[[UIBarButtonItem appearance] setBackgroundImage:[[UIImage imageNamed:@"btn-main.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(4.0, 4.0, 4.0, 4.0) resizingMode:UIImageResizingModeStretch]
forState:UIControlStateNormal
barMetrics:UIBarMetricsDefault];
[[UIBarButtonItem appearance] setBackgroundImage:[[UIImage imageNamed:@"btn-main-active.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(4.0, 4.0, 4.0, 4.0) resizingMode:UIImageResizingModeStretch]
forState:UIControlStateHighlighted
barMetrics:UIBarMetricsDefault];
// back button background
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:[[UIImage imageNamed:@"btn-back.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(4.0, 12.0, 4.0, 4.0) resizingMode:UIImageResizingModeStretch]
forState:UIControlStateNormal
barMetrics:UIBarMetricsDefault];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:[[UIImage imageNamed:@"btn-back-active.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(4.0, 12.0, 4.0, 4.0) resizingMode:UIImageResizingModeStretch]
forState:UIControlStateHighlighted
barMetrics:UIBarMetricsDefault];
Run Code Online (Sandbox Code Playgroud) 如果我有一个NSObject名为ProgramModel 的自定义类,当我@property和@synthesize它来自另一个类时它是否会获得alloc/init -ed ?例如,在像这样的ProgramController类中
// ProgramController.h
#import "ProgramModel.h"
@interface ProgramController : UIViewController {
ProgramModel *programModel;
}
@property (nonatomic, retain) ProgramModel *programModel;
// ProgramController.m
#import "ProgramController.h"
@implementation ProgramController
@synthesize programModel;
// etc
Run Code Online (Sandbox Code Playgroud)
我是否还需要在initWithNibName或中分配/ init viewDidLoad,或者是否已经alloc/init因为property/synthesize?
iphone ×7
ios ×5
objective-c ×5
uitableview ×2
cocoa-touch ×1
fmdb ×1
map ×1
mkmapview ×1
overlay ×1
properties ×1
scroll ×1
uitextview ×1
uiwebview ×1