我创建了一个采用NSAttributedString的方法,我正在寻找动态创建子视图和标签以将字符串放入.因为需要确定字体和大小等属性来正确确定标签的大小,我需要确定是否可以迭代已应用于属性字符串的值和范围?
我知道我可以单独传递属性,但为了可重用性,我希望能够尽可能少地将参数传递给方法.
我正在构建一组通知扩展(服务/内容).我无法连接到Xcode调试器,甚至无法注销设备日志或控制台.
有没有办法看到任何类型的输出?
我试图减少我的字符串的一部分的大小,并使用下面的代码.我的输出不正确.我只看到我的第一个字体属性用于整个字符串,而不是指定的范围.
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) 我正在尝试在Xcode中更新配置文件,并在点击续订按钮时遇到此错误:

我知道有几个人的帖子*只是登录开发者门户网站来更新个人资料.但是,如果Xcode中存在该按钮,我希望我能够使用它.这是Xcode中的错误还是我错过了一个允许这个正确工作的设置?
我一直在重构一些代码并创建了一个静态库,我现在正在一些用于少数应用程序的框架中使用.我正在使用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文件添加到它构建的项目中而没有问题.
我已经获得了具有以下工作流程的设计:
基于此描述,在我看来应用程序需要导航控制器根视图控制器用于登录和tableview,然后在点击表格行时,应用程序需要利用tabbar控制器来深入挖掘数据.
我似乎无法使用故事板将UITabBarController添加到导航控制器.此外,我发现其他SO帖子提出类似的问题,但提供的答案似乎都不是最新的,或使用当前(iOS7/8)最佳实践解决此工作流程.有没有办法完成这个工作流程?如果没有,是否有一个简明的解释我可以用来告知设计师和利益相关者?
在单击第一个屏幕上的按钮时,向用户呈现包含在标签栏控制器内的视图控制器.视图控制器中有两个表视图,第一个是顶部静态表,另一个是下面的第二个表.标签栏控制器中的视图控制器不在"更多"显示内.如果我转到"更多"并选择一个视图控制器,则会显示视图,并按下顶部单元格.
如果我转到"更多"屏幕,单击编辑,并以任何方式移动视图控制器的顺序,通过"更多"显示正确显示控制器.离开"更多"部分时,不显示顶部表格单元格(顶部表格).
对我来说,在UI或故事板中存在一个问题似乎是合理的,但是没有任何事情可以解决我的问题.我已尝试手动设置约束并使用建议的约束.
此示例项目位于https://github.com/propstm/NavigationStructureTest

我在本周早些时候遇到过这个问题,刚才又遇到了这个问题.当用户处于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.这是一个错误吗?
我正在使用[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) 我试图用代码推入一个新的视图控制器:
[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
创建散点图时,它会自动标记图表本身上的点.我发现这非常烦人,并希望将其关闭,因为它对我们正在做的事情没有用.有没有办法没有删除所有标签?
要清除,这些显示没有添加任何注释..我想删除此默认行为.

我想删除图中的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) 我有一个自定义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)