我有两个视图控制器,firstViewController和secondViewController.我正在使用此代码切换到我的secondViewController(我也传递一个字符串):
secondViewController *second = [[secondViewController alloc] initWithNibName:nil bundle:nil];
second.myString = @"This text is passed from firstViewController!";
second.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentModalViewController:second animated:YES];
[second release];
Run Code Online (Sandbox Code Playgroud)
然后我在secondViewController中使用此代码切换回firstViewController:
[self dismissModalViewControllerAnimated:YES];
Run Code Online (Sandbox Code Playgroud)
所有这一切都很好.我的问题是,如何将数据传递给firstViewController?我想从secondViewController传递一个不同的字符串到firstViewController.
我知道手表应用程序打开父应用程序和发送/接收数据的功能WKInterfaceController openParentApplication和handleWatchKitExtensionRequest方法.
但是如何...在用户使用父应用程序并在父应用程序中执行操作(即更改背景颜色)的实例中,如何立即通知监视应用程序并执行相关操作手表呢?
我相信MMWormhole在这个例子中就足够了,这是我应该采取的最佳方法还是有替代方案?
我正在开发iOS8的Today Extension.我的应用程序组设置正确,我可以成功使用NSUserDefaults将简单的数据位发送到我的扩展(使用本教程).
在我的扩展程序的故事板中,我已将图像放在故事板上,并将图像设置为我在资产目录中的资产.即使它出现在Interface Builder中,当我在设备和模拟器上运行应用程序时,图像也不会显示.
我错过了什么?
我有一个UIScroll,有八页左右.我的目标是让他们"循环",以便当用户到达最后一页时,第一页将成为下一页(反之亦然),以便用户可以无休止地滚动页面.实现这一目标的最佳方法是什么?
我是从Cocoa with Love那个例子开始的.
任何帮助是极大的赞赏.谢谢.
我很乐意在应用程序中本地化字符串和图像.但是我在尝试本地化支持的语言(英语和德语)的应用程序图标时遇到了很多困难.
这甚至可能吗?根据Apple文档,您可以:
iOS应用程序应该是国际化的,并且为它支持的每种语言都有一个language.lproj文件夹.除了提供应用程序自定义资源的本地化版本之外, 您还可以通过在特定于语言的项目目录中放置具有相同名称的文件来本地化应用程序图标并启动映像.但是,即使您提供本地化版本,也应始终在应用程序包的顶层包含这些文件的默认版本.默认版本用于特定本地化不可用的情况.有关本地化资源的更多信息,请参阅"Bundles中的本地化资源".
我试图这样做没有运气.似乎没有任何有用的资源?
我试过的其他事情:
有没有人成功实现本地化应用图标?
我知道如何从Storyboard设置项目的全局色调.但是如何以编程方式设置色调?
Apple的文档可以说:
每个WatchKit应用程序都有一个关联的键颜色,它应用于以下UI元素:
- 状态栏中的标题字符串
- 应用程序名称简短通知
应用程序的键颜色存储在应用程序故事板的Global Tint属性中.要访问此属性,请选择故事板并显示"文件"检查器.从弹出菜单中选择几种预先存在的颜色之一,或使用颜色选择器指定自定义颜色.
但它可以通过编程方式完成吗?

当我为UITextField子类的位置设置动画时,字段中的文本与UITextField保持它的位置跳出一步,这非常刺耳,我无法弄清楚它为什么会发生:

我的子类在文本字段的右侧添加一个按钮,当点击时调用视图控制器上的方法,该方法更改文本字段边框颜色并通过更改文本字段的顶部空间约束将文本字段向上移动,以及位于其上方的其他几个视图.
[UIView animateWithDuration:0.3
animations:^{
self.tableViewBottomSpaceConstraint.constant = 0;
self.mainLabelHeightConstraint.constant = 0;
self.subLabelTopSpaceConstraint.constant = 0;
self.postCodeFieldTopSpaceConstraint.constant = 12;
[self.view layoutIfNeeded];
}];
Run Code Online (Sandbox Code Playgroud) 我正在使用NSXMLParser从url解析xml(我的代码与此处的代码几乎完全相同)
一些元素包含特殊字符,如"á",这使得一个单词很可能被分成两个(á和ndre).
这是我的loadXMLByURL
-(id) loadXMLByURL:(NSString *)urlString{
tickets = [[NSMutableArray alloc] init];
NSURL *url = [NSURL URLWithString:urlString];
NSData *data = [[NSData alloc] initWithContentsOfURL:url];
parser = [[NSXMLParser alloc] initWithData:data];
parser.delegate = self;
[parser parse];
return self;}
Run Code Online (Sandbox Code Playgroud)
我很确定这是因为没有设置编码(我认为它需要是NSUTF8StringEncoding)但我不知道在哪里/如何应用它.
[更新]我的其余代码......
- (void) parser:(NSXMLParser *)parser didStartElement:(NSString *)elementname namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
{
if ([elementname isEqualToString:@"ticket"])
{
currentTicket = [Ticket alloc];
}
}
- (void) parser:(NSXMLParser *)parser didEndElement:(NSString *)elementname namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
if ([elementname isEqualToString:@"name"])
{
currentTicket.name = currentNodeContent;
} …Run Code Online (Sandbox Code Playgroud) 我今天向应用商店提交了一个新应用.上传被Apple接受,所以我认为一切都是正确的.但我有一个想法.看看我附上的截图,我使用的分发配置文件,方法设置为'Ad-Hoc'(我使用该配置文件将构建发送到客户端).那应该设置为"分配"吗?如果应用程序设置为adhoc,我担心应用程序可能会被拒绝.
我应该将其设置为adhoc,还是将其更改为分发?会有问题吗?
谢谢.

distribution ad-hoc-distribution provisioning-profile ios-provisioning
我有一个自定义对象,如:
#import <Foundation/Foundation.h>
@interface Store : NSObject{
NSString *name;
NSString *address;
}
@property (nonatomic, retain) NSString *name;
@property (nonatomic, retain) NSString *address;
@end
Run Code Online (Sandbox Code Playgroud)
我有一个包含Store对象的NSMutableArray(storeArray)数组:
store1 = [[Store alloc] init];
store1.name = @"Walmart";
store1.address = @"walmart address here..";
store2 = [[Store alloc] init];
store2.name = @"Target";
store2.address = @"Target address here..";
store3 = [[Store alloc] init];
store3.name = @"Apple Store";
store3.address = @"Apple store address here..";
//add stores to array
storeArray = [[NSMutableArray alloc] init];
[storeArray addObject:store1];
[storeArray addObject:store2];
[storeArray addObject:store3]; …Run Code Online (Sandbox Code Playgroud) 我正在使用NSXmlParser来解析rss feed.到目前为止一切运作良好.
我预计rss feed最终会包含几十个/几百个帖子.我目前的解决方案是读取整个RSS Feed并显示结果.但是我想只阅读前十个帖子(以防止它解析可能有数百个项目).然后在稍后的时间(例如当用户到达表的末尾时)来解析接下来的十个帖子.
所以我的问题是如何解析前十个帖子,然后解析接下来的十个帖子,然后解析接下来的十个帖子等等......
这是我用来获取所有帖子的内容:
- (void)parseXMLFileAtURL:(NSString *)URL
{
myArray = [[NSMutableArray alloc] init];
//convert the path to a proper NSURL or it won't work
NSURL *xmlURL = [NSURL URLWithString:URL];
rssParser = [[NSXMLParser alloc] initWithContentsOfURL:xmlURL];
[rssParser setDelegate:self];
[rssParser parse];
}
- (void)parser:(NSXMLParser *)parser parseErrorOccurred:(NSError *)parseError {
//error
}
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict{
currentElement = [elementName copy];
if ([elementName isEqualToString:@"item"]) {
//clear out our story item caches...
item = [[NSMutableDictionary alloc] init]; …Run Code Online (Sandbox Code Playgroud) 我正在使用TWrequest在桌面视图中显示我的推特列表.以下代码有效.问题是更新表格非常慢.我在NSlogging请求响应(发生得非常快),我也循环遍历每个列表并将列表'name'添加到一个数组(再次,很快发生<1s).但由于一些莫名其妙的原因,该表大约需要4秒左右才能更新.
为什么表重新加载需要这么长时间?问题是没有解析响应(因为我可以看到nslog这很快发生),它需要很长时间才能显示在表中?非常感谢帮助!
-(IBAction)getLists{
// First, we need to obtain the account instance for the user's Twitter account
ACAccountStore *store = [[ACAccountStore alloc] init];
ACAccountType *twitterAccountType = [store accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];
// Request permission from the user to access the available Twitter accounts
[store requestAccessToAccountsWithType:twitterAccountType withCompletionHandler:^(BOOL granted, NSError *error) {
if (!granted) {
// The user rejected your request
NSLog(@"User rejected access to the account.");
}
else {
// Grab the available accounts
twitterAccounts = [store accountsWithAccountType:twitterAccountType];
if ([twitterAccounts count] > 0) { …Run Code Online (Sandbox Code Playgroud) ios ×8
iphone ×3
xcode ×3
apple-watch ×2
nsxml ×2
nsxmlparser ×2
objective-c ×2
watchkit ×2
acaccount ×1
animation ×1
cocoa-touch ×1
distribution ×1
ios8 ×1
localization ×1
nsxmlelement ×1
rss ×1
tintcolor ×1
twitter ×1
twrequest ×1
uikit ×1
uiscrollview ×1
uitextfield ×1
xml-parsing ×1