小编Pfi*_*itz的帖子

如何以编程方式在iPhone 4S上打开AirPlay屏幕镜像

我已经为iPhone创建了一个应用程序,对于4S我想通过AirPlay支持应用程序的屏幕镜像.

使用System AirPlay选择器并启用镜像,它将镜像应用程序而不会出现任何问题.

我想在应用程序中提供此选择器并使用以下基本代码:

MPVolumeView *volumeView = [ [MPVolumeView alloc] init] ;
[volumeView setShowsVolumeSlider:NO];
[volumeView sizeToFit];
[self.view addSubview:volumeView];
Run Code Online (Sandbox Code Playgroud)

这提供了一个AirPlay选择器,我可以选择Apple TV.但它并不反映AirPlay上的内容.当我进入系统选择器时,它显示已选择AppleTV,并且为了启用镜像,我必须在此处使用开关.

所以问题是,当用户使用应用程序选择器选择AirPlay时,如何在应用程序中启用镜像?

谢谢

iphone ios airplay

5
推荐指数
2
解决办法
8601
查看次数

iOS应用内购买恢复返回许多交易

当我恢复之前的购买时。Storekit正在调用updateTransations大量先前的交易。不知道为什么它会返回如此大的数量,例如 100、200、245、360、650 在每次恢复中似乎都是随机的。

这种情况只发生在沙盒中吗?如果不是,选择该项目的标准应该是什么?我有很多商品具有相同的产品 ID?

iphone restore in-app-purchase ios

5
推荐指数
1
解决办法
3683
查看次数

[NSMutableArray objectAtIndex:]:索引0超出空数组的边界'

我收到此错误:[NSMutableArray objectAtIndex:]: index 0 beyond bounds for empty array虽然我的数据库中有75个项目.为什么它会向我显示此错误?我正在尝试从我的数据库中获取项目,但它告诉我索引0.

+(NSMutableArray *)GetAttitudeItems
{
    NSArray *arrDocPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *strDestPath = [NSString stringWithFormat:@"%@/ItemsAndCategory.sqlite",[arrDocPath objectAtIndex:0]];


//sqlite3 *sqlite;

NSMutableArray *arrItemsList;
if(sqlite3_open([strDestPath UTF8String],&database)==SQLITE_OK)
{

    const char *strQuery = "SELECT * FROM Items WHERE CategoryName='ATTITUDE' ORDER BY RANDOM()";
    NSLog(@"The value is %s",strQuery);
    sqlite3_stmt *stmt;
    //char *err;

    arrItemsList  = [[NSMutableArray alloc]init];

    if(sqlite3_prepare_v2(database, strQuery , -1,&stmt, NULL)==SQLITE_OK)
    {
        while (sqlite3_step(stmt)==SQLITE_ROW) 
        {

            NSString *StrCatename = [NSString stringWithUTF8String:(char*)sqlite3_column_text(stmt, 1)];
            NSString *StrItemName = [NSString stringWithUTF8String:(char*)sqlite3_column_text(stmt, 0)];

            Itemslist …
Run Code Online (Sandbox Code Playgroud)

objective-c nsmutablearray

5
推荐指数
1
解决办法
2239
查看次数

以编程方式选择tableview上的单元格不会执行关联的segue

好吧,正如我在主题中所说,我的问题是我正在以编程方式选择tableview上的一个单元格,意图自动执行相关的segue.我有相关的tableviewcontroller的viewWillAppear上的代码.

结果是选择了单元格,但不执行segue.你知道为什么吗?

到目前为止,我在viewWillAppear上以编程方式执行segue以解决问题,但我很好奇为什么如果选择单元格则不会自动执行segue ...

顺便说说.segue必须正常,因为当我选择单元格点击时,它可以正常工作.

更多信息:我正在研究splitviewcontroller.左侧有tableviewcontroller,segue右侧有一个viewcontroller

非常感谢!

卡洛斯

相关代码:

- (void) viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];

// Si no hay ninguna fila seleccionada, seleccionaremos la primera

// Obtenemos la fila seleccionada
NSIndexPath *filaSeleccionadaPath = [self.tableView indexPathForSelectedRow];

// Si no hay ninguna fila seleccionada
if (!filaSeleccionadaPath)
{
    NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];
    [self.tableView selectRowAtIndexPath:indexPath animated:NO scrollPosition:UITableViewScrollPositionNone];

}
Run Code Online (Sandbox Code Playgroud)

}

uitableview ios segue

4
推荐指数
1
解决办法
2165
查看次数

UITextField在转换时的垂直文本对齐方式

我有一个UITextfield&我将应用垂直对齐(顶部,底部,中心).我通过设置垂直对齐来正确完成.但是当我使用(-M_PI/2)并应用底部或中心对齐来转换文本字段时,它工作正常但文本字段中的文本对用户不可见.如果有人知道有关此问题的解决方案,请帮助我.提前致谢.

iphone objective-c uitextfield ios

4
推荐指数
1
解决办法
3636
查看次数

Xcode"AppDelegate*const __strong'到不兼容类型的参数"错误

当我appDelegate按如下方式声明接口以进行设置时NSXMLParserDelegate,我从其他使用[[UIApplication sharedApplication]委托]的视图中收到一些警告;

@interface AppDelegate : UIResponder <UIApplicationDelegate, NSXMLParserDelegate>
Run Code Online (Sandbox Code Playgroud)

警告:使用不兼容类型"id"的表达式初始化"AppDelegate*__ strong"

但是,如果我删除它,由于xmlParser的自设置,会出现另一个警告,

@interface AppDelegate : UIResponder <UIApplicationDelegate>
Run Code Online (Sandbox Code Playgroud)

警告:将'AppDelegate*const __strong'发送到不兼容类型'id'的参数

    xmlParser = [[NSXMLParser alloc] initWithData:receivedData];
    [xmlParser setDelegate:self];
Run Code Online (Sandbox Code Playgroud)

如何删除?谢谢

iphone cocoa-touch objective-c nsxmlparser ios

4
推荐指数
1
解决办法
1万
查看次数

将html文本添加到我的UIWebView

我想从我的数据库添加文本到UIWebView,但我有一个我无法处理的错误.

在我的.h:

#import <UIKit/UIKit.h>

@interface readNotice : UIViewController {

IBOutlet UILabel *message;
IBOutlet UIWebView *body;
}

@property(nonatomic, retain)IBOutlet UILabel *message;
@property(nonatomic, retain)IBOutlet UIWebView *body;

-(void)getNoticeData:(NSString *)noticeID:(NSString *)noticeTitle;

@end
Run Code Online (Sandbox Code Playgroud)

在他们中:

@synthesize message,body;

-(void)getNoticeData:(NSString *)noticeID:(NSString *)noticeTitle {


//some taks not useful for this code


NSString *bodyText = [dict objectForKey:@"introtext"];

[body loadHTMLString: bodyText];
}
Run Code Online (Sandbox Code Playgroud)

我得到的错误:

No visible @interface for 'UIWebView' declares the selector 'loadHTMLString:'
Run Code Online (Sandbox Code Playgroud)

为什么会这样?先感谢您

iphone objective-c uiwebview ios

4
推荐指数
2
解决办法
5094
查看次数

使用多个可伸缩图像构建UIImage

我有3张图片,一张左帽,右帽和中心.也许使用CGImageRefs(?),有没有办法建立一个位图,基于一个CGRect将中心部分置于某个容器中心,拉伸左帽直到它到达中心部分,然后相同的右边然后产生一个UIImage

drawing core-graphics objective-c uiimage ios

4
推荐指数
1
解决办法
2961
查看次数

NSSortDescriptor问题

我正在制作一个联系簿应用程序,我从AddressBook获取名称并将它们存储在Core数据中,并使用NSFetchedResultsController.However第一个索引在表格上显示名称,然后出现的部分为#,后跟字母表.但我想这样做就像是在原生联系人应用程序,即#index应该到最后.
我使用了以下内容NSortDescriptor:

sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"fullName"ascending:YES];

这里"fullName"是key通过连接名字和姓氏而产生的核心数据.如果fullName不是以字母开头,则节标识符是"fullName"的第一个字母,其节标识符是#.
我搜索了它并NSDiacriticInsensitiveSearchNSortDescriptor比较器中使用但它没有用.如果有人有任何想法,请告诉我.

这是我的代码:

NSString *special = @"\uE000";
if ([[self sectionName:contactName] isEqualToString:@"#"]) {                           
    sortName = [special stringByAppendingString:contactName];
}
else{
    sortName = contactName;
}
[newContact setValue:[self sectionIdentifier:sortName] forKey:@"sectionIdentifier"];
[newContact setValue:sortName forKey:@"sortName"];
Run Code Online (Sandbox Code Playgroud)

这是排序描述符:

sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"sortName" ascending:YES];
Run Code Online (Sandbox Code Playgroud)

[self sectionIdentifier:sortName] 如果sortName以非字母开头,则此方法返回#,否则返回它开始的字母表.

newContact是实体的对象.

xcode core-data objective-c nsfetchedresultscontroller

4
推荐指数
1
解决办法
2633
查看次数

NSPopUpButton + Bindings +显示所有选项

我正在尝试开发一个NSPopUpButton可以作为某个数据源的过滤器,让我们说一个NSArrayController填充表.

我可以将NSArrayController菜单中的菜单绑定到选择键路径,以便正确过滤数据,没问题.

棘手的部分是,我希望这个内容NSPopUpButton依赖于NSArrayController使用绑定,但我想添加一个"全部显示"菜单项,或者至少一些不是来自核心数据并且执行一些特殊的项目除了使用绑定和核心数据过滤表之外的其他操作.

我正在尝试执行类似NSPopUpButton过滤器栏中的finder 所使用的操作,菜单的最后一项执行特殊操作,而其他项只是过滤结果.

我理解这种方法是忘记绑定并以编程方式完成所有操作,因为我相信没有办法搞砸NSArrayController和绑定来添加不依赖于核心数据的自定义菜单项,但是因为我还没有在Apple Docs上发现了什么,在这里,我想分享我的想法......任何想法?

cocoa objective-c nsarraycontroller cocoa-bindings nspopupbutton

3
推荐指数
1
解决办法
1334
查看次数

对于大型switch语句,是否有更优雅的解决方案?

我已经将很多范围映射到0-300 = 10,300-600 = 20,600-900 = 30 ... 2500000-2700000 = 7000 ......所以我可以制作一个非常大的开关 - 声明/ if-block但我想知道是否有更优雅的方法来解决这个小问题.

好的,这是表的一小部分,包含真实数据:

0-300 : 25
301-600.  : 45
601-900 : 65
901-1200. : 85
1201-1500: 105

1501-2000 : 133
2001-2500 : 161
2501-3000: 189
3001-3500:217
3501-4000:245

4001-4500:273
4501-5000:301
5001-6000:338
Run Code Online (Sandbox Code Playgroud)

optimization objective-c switch-statement ios

1
推荐指数
1
解决办法
682
查看次数

UIStepper不更新对应标签

我有一个UIStepper控件,我在我的程序中创建UITableViewCell.我还UILabel为该单元创建了一个程序化的程序.发生的事情是,按下时的步进器访问UILabel位于不同单元格中的位置,即索引路径1而不是0.这里是代码.

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ 
...
 //---------UIStepper Creation-------------------//

stepper = [[UIStepper alloc]init];
[stepper setFrame:CGRectMake(220.0f, 65.0f, 0.0f, 0.0f)];
[stepper setTag: indexPath.row];
[stepper addTarget:self action:@selector(stepperPressed:) forControlEvents:UIControlEventValueChanged];

stepperLabel = [[UILabel alloc] init];
[stepperLabel setFrame:CGRectMake(105,70, 20, 20)];
[stepperLabel setTextColor:[UIColor whiteColor]];
[stepperLabel setBackgroundColor:[UIColor clearColor]];
[stepperLabel setTag:stepper.tag];
[stepperLabel setText:[NSString stringWithFormat: @"%d", (int) [stepper value]]];
stepperLabel.lineBreakMode = UILineBreakModeWordWrap;
stepperLabel.numberOfLines = 1;//Dynamic

//Set min and max
[stepper setMinimumValue:0];
[stepper setMaximumValue:4];
// Value wraps around from minimum to maximum …
Run Code Online (Sandbox Code Playgroud)

uitableview uilabel ios uistepper

1
推荐指数
1
解决办法
3653
查看次数