小编pro*_*stm的帖子

是否可以获取NSMutableAttributedString的属性和范围列表?

我创建了一个采用NSAttributedString的方法,我正在寻找动态创建子视图和标签以将字符串放入.因为需要确定字体和大小等属性来正确确定标签的大小,我需要确定是否可以迭代已应用于属性字符串的值和范围?

我知道我可以单独传递属性,但为了可重用性,我希望能够尽可能少地将参数传递给方法.

nsattributedstring uilabel ios nsmutableattributedstring

43
推荐指数
3
解决办法
2万
查看次数

使用GitHub.com查看文件的更改历史记录

我发现这篇关于使用命令行的帖子,但是我想知道是否可以在GitHub.com上的回购中查看单个文件的文件更改历史记录?浏览器内的解决方案可以帮助我在会议期间更好地说明团队成员的变化.

git github

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

调试通知扩展

我正在构建一组通知扩展(服务/内容).我无法连接到Xcode调试器,甚至无法注销设备日志或控制台.

有没有办法看到任何类型的输出?

xcode apple-push-notifications ios ios10 xcode-debugger

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

是否可以使用NSAttributedString设置多个字体属性

我试图减少我的字符串的一部分的大小,并使用下面的代码.我的输出不正确.我只看到我的第一个字体属性用于整个字符串,而不是指定的范围.

    NSMutableAttributedString *attString=[[NSMutableAttributedString alloc] initWithString:title];
    NSInteger _stringLength=[descriptionText length];
    [attString addAttribute:NSFontAttributeName
                      value:[UIFont fontWithName:@"Gotham-Bold" size:20.0]
                      range:NSMakeRange(0, 10)];
    [attString addAttribute:NSFontAttributeName
                      value:[UIFont fontWithName:@"Helvetica-Bold" size:12.0]
                      range:NSMakeRange(11, _stringLength-1)];
    [self.description setAttributedText:attString];
Run Code Online (Sandbox Code Playgroud)

string nsattributedstring ios

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

为什么我会收到错误"没有为参数'certificateIds'提供任何值." 当我在xcode中更新时

我正在尝试在Xcode中更新配置文件,并在点击续订按钮时遇到此错误:

在此输入图像描述

我知道有几个人的帖子*只是登录开发者门户网站来更新个人资料.但是,如果Xcode中存在该按钮,我希望我能够使用它.这是Xcode中的错误还是我错过了一个允许这个正确工作的设置?

*发行配置文件,即使点击更新按钮后仍失效,并 点击更新为iOS证书时错误

xcode ios provisioning-profile

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

Cocoapods podspec问题

我一直在重构一些代码并创建了一个静态库,我现在正在一些用于少数应用程序的框架中使用.我正在使用cocoapods,并且无法正确地将我的新静态库集成到podspec中.

我发现构建失败了,因为构建中缺少静态库.如果我手动将静态库添加到最终应用程序,框架和应用程序工作正常.构建团队生成应用程序的最终版本,因此我只负责更新框架的podspec.

我是否可以修改pod规范以将静态库设置为在最终应用程序的构建阶段显示的链接库?

更新:

将静态库添加到我的子规范的framework.library属性时,我得到了 library not found for -lMyStaticLib

SUBSPEC供参考:

  s.subspec 'MyStaticLibrary' do |msl|
    mss.source_files = 'FrameworkSource/My-Static-Library/*.{h,a}'
    msl.library = 'MyStaticLib'
    msl.xcconfig = { 'HEADER_SEARCH_PATHS' => '"$(SRCROOT)/Pods/My-Framework-Name/FrameworkSource/My-Static-Library"/**', 'LIBRARY_SEARCH_PATHS' => '"$(SRCROOT)/Pods/My-Framework-Name/FrameworkSource/My-Static-Library"/**' }
    #msl.frameworks =  'MyStaticLib'
  end
Run Code Online (Sandbox Code Playgroud)

更新2:我将属性更改为msl.vendored_libraries = 'MyStaticLib'podspec中的已验证路径.一切似乎都要结束.我仍然遇到构建错误.当我为一个设备构建时(我在为模拟器构建时得到了相同的错误,但对于i386):

Undefined symbols for architecture armv7:
  "_OBJC_CLASS_$_MyStaticLibrary", referenced from:
      objc-class-ref in MyFramework(FileInFramework.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)

我还再次验证,如果我只是去应用程序的构建阶段并遍历Pods文件夹并手动将MyStaticLibrary.a文件添加到它构建的项目中而没有问题.

static-libraries cocoapods xcode5

6
推荐指数
2
解决办法
5013
查看次数

如何将标签栏控制器集成到导航控制器工作流程中?

我已经获得了具有以下工作流程的设计:

  • 用户登录到应用程序
  • 成功登录后,用户会看到包含数据行的tableview
  • 在单击数据行时,用户将被带到具有选项卡界面的视图控制器.选项卡式界面中的每个视图控制器都可以深入了解tableview中显示的数据的一个方面.
  • 用户可以从任何选项卡按下后退按钮并返回到tableview.

基于此描述,在我看来应用程序需要导航控制器根视图控制器用于登录和tableview,然后在点击表格行时,应用程序需要利用tabbar控制器来深入挖掘数据.

我似乎无法使用故事板将UITabBarController添加到导航控制器.此外,我发现其他SO帖子提出类似的问题,但提供的答案似乎都不是最新的,或使用当前(iOS7/8)最佳实践解决此工作流程.有没有办法完成这个工作流程?如果没有,是否有一个简明的解释我可以用来告知设计师和利益相关者?

uitabbarcontroller uinavigationcontroller ios

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

为什么我的UITableview Y原点会根据TabBarController中的位置而改变

在单击第一个屏幕上的按钮时,向用户呈现包含在标签栏控制器内的视图控制器.视图控制器中有两个表视图,第一个是顶部静态表,另一个是下面的第二个表.标签栏控制器中的视图控制器不在"更多"显示内.如果我转到"更多"并选择一个视图控制器,则会显示视图,并按下顶部单元格.

如果我转到"更多"屏幕,单击编辑,并以任何方式移动视图控制器的顺序,通过"更多"显示正确显示控制器.离开"更多"部分时,不显示顶部表格单元格(顶部表格).

对我来说,在UI或故事板中存在一个问题似乎是合理的,但是没有任何事情可以解决我的问题.我已尝试手动设置约束并使用建议的约束.

此示例项目位于https://github.com/propstm/NavigationStructureTest

在修改标签栏控制器中的视图控制器的顺序之前,前两个图像. 最后两个,之后.

uitabbarcontroller uitableview ios xcode-storyboard

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

在横向模式下,为什么iPad键盘高度为1024px?

我在本周早些时候遇到过这个问题,刚才又遇到了这个问题.当用户处于iPad的横向模式时,当键盘出现在屏幕上时,我正在设置键盘偏移.iPad的尺寸为1024 x 768.

- (void) keyboardWasShown:(NSNotification *)nsNotification {
    NSDictionary *userInfo = [nsNotification userInfo];
    CGSize kbSize = [[userInfo objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size;

    NSLog(@"Height: %f Width: %f", kbSize.height, kbSize.width);
    // Portrait:    Height: 264.000000  Width: 768.000000
    // Landscape:   Height: 1024.000000 Width: 352.000000
}
Run Code Online (Sandbox Code Playgroud)

怎么键盘的高度可以是1024?这意味着键盘现在覆盖整个屏幕.我认为高度应该是352,宽度应该是1024.这是一个错误吗?

keyboard landscape ipad ios

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

在资产库中编写视频然后获取其属性的正确方法是什么

我正在使用[library writeVideoAtPathToSavedPhotosAlbum:movieUrl completionBlock:^(NSURL*assetURL,NSError*error)块在资源库中编写视频,在视频完全写入资产库之前给出了url.当我枚举块内的库以获取视频的属性时,我没有得到任何视频来反对上面的块给出的url.如果我使用相同的URL手动重新枚举资产库3或4次,我将获得视频属性.这个问题主要发生在我制作持续时间超过5分钟的视频时我的代码是:

    library = [[ALAssetsLibrary alloc] init];
    [library writeVideoAtPathToSavedPhotosAlbum:movieUrl completionBlock:^(NSURL *assetURL, NSError *error)
    {   
        savedAssetURL = assetURL;
        [self assetsEmumeration:assetURL];
        NSLog(@"asset url %@",assetURL);
        if(error) 
        {
            UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Failed" message:[error localizedDescription] delegate:self cancelButtonTitle:@"OK" otherButtonTitles:Nil];
            [alertView show];
        }
    }];

    -(void) assetsEmumeration:(NSURL *)_url 
    {   
    NSLog(@"assets enumeration ");
    ALAssetsLibrary *al;    
    void (^assetGroupEnumerator)(ALAssetsGroup *, BOOL *) = ^(ALAssetsGroup *group, BOOL *stop)
    {
        [group setAssetsFilter:[ALAssetsFilter allVideos]] ;
        [group enumerateAssetsUsingBlock:^(ALAsset *asset, NSUInteger index, BOOL *stop)
         {
             if (asset) 
             {
                 ALAssetRepresentation *representation = [asset defaultRepresentation]; …
Run Code Online (Sandbox Code Playgroud)

iphone objective-c ios

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

pushViewController不使用标签栏控制器

我试图用代码推入一个新的视图控制器:

[self.navigationController pushViewController:webViewController animated:YES];
Run Code Online (Sandbox Code Playgroud)

但它不起作用.在表视图中选择单元格时会发生此代码.我有一个表视图,我认为这是防止这种情况发生的.我试过以模态方式呈现它,但摆脱了导航栏,我不能回去.有一个非常类似于此但答案对我不起作用!

UPDATE

- (void)loadView {
    // Create an instance of UIWebView as large as the screen
    CGRect screenFrame = [[UIScreen mainScreen] applicationFrame];
    UIWebView *wv = [[UIWebView alloc] initWithFrame:screenFrame];
    // Tell web view to scale web content to fit within bounds of webview 
    [wv setScalesPageToFit:YES];

    [self setView:wv];
    [wv release];
}
Run Code Online (Sandbox Code Playgroud)

将Web视图作为WebViewController的视图

如上所示没有笔尖

使用NSLog查询didSelect单元格方法以查找

一切都被初始化和分配,非零

更新:

我做了选择细胞方法:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    // Push the web view controller onto the navigaton stack - this implicity
    // creates the …
Run Code Online (Sandbox Code Playgroud)

xcode objective-c uitabbarcontroller uinavigationcontroller pushviewcontroller

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

Core-Plot CPTScatterPlot数据标签

创建散点图时,它会自动标记图表本身上的点.我发现这非常烦人,并希望将其关闭,因为它对我们正在做的事情没有用.有没有办法没有删除所有标签?

要清除,这些显示没有添加任何注释..我想删除此默认行为.

在此输入图像描述

我想删除图中的1,2,3,4,5,6,7等.

这是我用来创建图表的代码.正如您所看到的,它没有设置任何注释等.

    -(void) constructScatterPlot
    {
    // Create graph from theme
    graph = [[CPTXYGraph alloc] initWithFrame:CGRectZero];
    CPTTheme *theme = [CPTTheme themeNamed:kCPTDarkGradientTheme];
    [graph applyTheme:theme];
    scatterPlotView.hostedGraph = graph;

    graph.paddingLeft   = 0.0;
    graph.paddingTop    = 0.0;
    graph.paddingRight  = 0.0;
    graph.paddingBottom = 0.0

    // Setup plot space
    CPTXYPlotSpace *plotSpace = (CPTXYPlotSpace *)graph.defaultPlotSpace;
    plotSpace.allowsUserInteraction = NO;
    plotSpace.xRange                = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromFloat(-2.5) length:CPTDecimalFromFloat(28)];
    plotSpace.yRange                = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromFloat(-5) length:CPTDecimalFromFloat(desiredPeak+10)];

    NSArray *exclusionRanges = [NSArray arrayWithObjects:[CPTPlotRange plotRangeWithLocation:CPTDecimalFromFloat(-1) length:CPTDecimalFromFloat(-100)],
                                                         [CPTPlotRange plotRangeWithLocation:CPTDecimalFromFloat(25) length:CPTDecimalFromFloat(10000)], nil];

    // Axes
    CPTXYAxisSet *axisSet = (CPTXYAxisSet *)graph.axisSet;

    CPTXYAxis …
Run Code Online (Sandbox Code Playgroud)

core-plot ios

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

PerformSelector可能导致泄漏 - 更好的解决方案

我有一个自定义BackBarButton,我有一个属性来存储选择器,在某些情况下可以更改.所以我不能非常顺利地使用代表团.

警告说明

如果不将"工作流程"更改为委派,我该怎么做才能摆脱这种警告?该属性使用以下定义:

@property (nonatomic, strong) id<SPUniversalBackBarButtonItemDelegate> delegate;
@property (nonatomic, assign) SEL delegationSelector;
Run Code Online (Sandbox Code Playgroud)

我也尝试使用这段代码,但它说'没有已知的选择器实例方法......'和'IMP的Objective-C指针的隐式对话'......

IMP imp = [[self delegate] methodForSelector:[self delegationSelector]];
void (*func)(id, SEL) = (void *)imp;
func([self delegate], [self delegationSelector]);
Run Code Online (Sandbox Code Playgroud)

xcode warnings objective-c ios

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