我有一个uiview子类,我正在尝试绘制一个带阴影的圆角矩形.虽然它绘制了两个元素,但我可以通过圆角矩形填充看到阴影.我是CG的新手,所以我可能会遗漏一些简单的东西(虽然它似乎不是填充的alpha设置为1).这是绘制rect代码.
- (void)drawRect:(CGRect)rect {
// get the contect
CGContextRef context = UIGraphicsGetCurrentContext();
//for the shadow, save the state then draw the shadow
CGContextSaveGState(context);
CGContextSetShadow(context, CGSizeMake(4,-5), 10);
//now draw the rounded rectangle
CGContextSetStrokeColorWithColor(context, [[UIColor blackColor] CGColor]);
CGContextSetRGBFillColor(context, 0.0, 0.0, 1.0, 1.0);
//since I need room in my rect for the shadow, make the rounded rectangle a little smaller than frame
CGRect rrect = CGRectMake(CGRectGetMinX(rect), CGRectGetMinY(rect), CGRectGetWidth(rect)-30, CGRectGetHeight(rect)-30);
CGFloat radius = self.cornerRadius;
// the rest is pretty much copied from Apples example …Run Code Online (Sandbox Code Playgroud) 我只是在学习R并且很难绕过如何从列表中的对象中提取元素.我已经将一个json文件解析为R给我列表对象.但我无法弄清楚如何从列表中提取各种json元素.这是一个截断的看看解析json后我的数据如何显示:
> #Parse data into R objects#
> list.Json= fromJSON(,final.name, method = "C")
> head(listJson,6)
[[1]]
[[1]]$contributors
NULL
[[1]]$favorited
[1] FALSE
...[truncating]...
[[5]]
[[5]]$contributors
NULL
[[5]]$favorited
[1] FALSE
Run Code Online (Sandbox Code Playgroud)
我可以弄清楚如何提取列表中的一个对象的收藏夹数据
> first.object=listJson[1]
> ff=first.object[[1]]$favorited
> ff
[1] FALSE
Run Code Online (Sandbox Code Playgroud)
但我对如何为列表中的所有对象提取收藏非常困惑.我调查了一下,这是正确的做法吗?我需要将上面的代码放入for ... next循环吗?
我在自定义UITableViewCell中有一个UITextView.textview工作正常(滚动,显示文本等),但我需要用户能够点击表格单元格并转到另一个屏幕.现在,如果您点击表格单元格的边缘(即在UItextView之外),则会正确调用下一个视图.但是在uitextview中显然正在捕获触摸而不是转发到表格单元格.
我发现了一篇帖子,谈到了将UITextView子类化以转发触摸.我没试过就试过了.实施如下.我想知道是否可能a)我的textview的超级不是uitableviewcell因此我需要通过其他方式传递触摸或b)如果超级是uitableviewcell,如果我需要传递其他东西?任何帮助将非常感激.
#import "ScrollableTextView.h"
@implementation ScrollableTextView
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
if (parentScrollView) {
[parentScrollView touchesBegan:touches withEvent:event];
}
[super touchesBegan:touches withEvent:event];
}
- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event {
if (parentScrollView) {
[parentScrollView touchesCancelled:touches withEvent:event];
}
[super touchesCancelled:touches withEvent:event];
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
if (parentScrollView) {
[parentScrollView touchesEnded:touches withEvent:event];
}
[super touchesEnded:touches withEvent:event];
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
if (parentScrollView) {
[parentScrollView touchesMoved:touches withEvent:event];
}
[super touchesMoved:touches withEvent:event];
}
- (BOOL)canBecomeFirstResponder {
return YES;
} …Run Code Online (Sandbox Code Playgroud) 我的应用程序中有许多依赖于日期/时间的功能(例如"如果日期是x,显示y).我使用[NSDate日期]来获取用户的当前日期/时间.我可以通过手动测试功能改变我的iPhone上的日期/时间,但我想知道是否有办法以编程方式覆盖当前时间,以便我可以在模拟器中更快地进行测试.
我担心我知道这个问题的答案,但我会问远方机会我错了:
我一直在做一些为公司创建iPhone应用程序的自由职业者.他们创建了自己的开发者帐户,并将我添加为具有"管理员"权限的团队成员.这似乎是最高的可分配权利(唯一更高级别是"代理人",只属于注册帐户的人).但是,我在配置门户下没有选项来创建分发证书或配置文件.
有没有办法自己创建这些,而不必询问我的客户的主要登录?他们并不特别擅长技术,因此很难让他们完成创建必要证书的过程(并且需要我从他的计算机等处向他们提供证书请求).但似乎应该有一些方法来创建没有"代理"权利的分发版本,对吧?苹果公司是否真的希望公司中只有一个人能够将所有应用程序构建和上传到商店?
是否有一种简单的方法可以更改 R 的汇总函数的输出格式,以便将结果打印在列而不是行中?当您传递摘要数据框时,R 会自动执行此操作。当我传递一个向量时,我想在列中打印汇总统计信息。所以而不是这个:
>summary(vector)
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.000 1.000 2.000 6.699 6.000 559.000
Run Code Online (Sandbox Code Playgroud)
它看起来像这样:
>summary(vector)
Min. 1.000
1st Qu. 1.000
Median 2.000
Mean 6.699
3rd Qu. 6.000
Max. 559.000
Run Code Online (Sandbox Code Playgroud) 我有一个UITABLEVIEW,我想只显示某些单元格的删除功能(也就是说,某些单元格是用户可删除的,某些单元格不是).据我所知,seteditable:仅设置在表级别.有没有办法覆盖这个或隐藏某些单元格上的删除按钮?
在"View Did Load"中,我正在尝试确定视图的大小,以便我可以适当地调整子视图的大小.我希望它总是伸展屏幕的长度和宽度,无论方向如何.
quest *anview = [[quest alloc] initWithFrame: CGRectMake(50, 50, self.view.frame.size.width-100, self.view.frame.size.height-100)];
self.aquest=anview;
Run Code Online (Sandbox Code Playgroud)
但是当我在风景中它应该返回相反时,它总是返回宽度748和高度1024.我知道你无法在模拟器上获得方向,但这也发生在设备上.当我得到方向时:
[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation];
NSLog(@"device orientation:%d",orientation);
Run Code Online (Sandbox Code Playgroud)
我正确地得到了方向,但是这个日志语句返回748/1024而不管方向如何.
NSLog(@"size w:%f",self.view.frame.size.width);
NSLog(@"size h:%f",self.view.frame.size.height);
Run Code Online (Sandbox Code Playgroud)
有谁知道发生了什么?这与我将它放在viewdidLoad方法中有什么关系吗?我应该把它放在viewWillAppear还是viewDidAppear?
我在标准Objective-c类(NSString,NSArray,NSDate等等)上使用了相当多的类别.我传统上只在实际使用它们的类中导入了这些类别的标题.简单地将它们全部包含在前缀标题中并且再也不用担心单独导入它们会更容易.但是我想知道这样做是否有任何性能影响?我不是真的担心编译需要更长时间,只要它影响实际应用程序的性能.
我有一个问题,我认为可能是直截了当但我似乎无法绕过它.
我有一个从一系列NSDictionaries加载的tableview.每个Dictionary都有一个标题(显示在行中)和一个关联的nssstring,表示一个viewcontroller,当选择该行时应该将其压入堆栈.换句话说,选择行"A"需要初始化"aViewController"的实例并将其推送到堆栈上,选择行"B"需要初始化"bViewController"的实例并将其推送到堆栈等.
我最初只是将所有可能的值硬编码到didSelectRow中.但我真的希望能够动态地动态生成viewController.我找到了几个类似问题的C++示例,这些示例使我得到了下面的代码.但我似乎无法做到正确,并且我不确定我是否正在寻找一个客观的解决方案.有人有什么想法?
这是didSelectRow代码不起作用:
Class cls = [selectedRow valueForKey:@"viewController"];
if (cls!= nil)
{
id myNewController = [[cls alloc] init];
}
[[self navigationController] pushViewController:myNewController animated:YES];
[myController release];
Run Code Online (Sandbox Code Playgroud) iphone ×6
objective-c ×4
ios ×2
r ×2
uitableview ×2
dropshadow ×1
include ×1
ios4 ×1
ipad ×1
nsdate ×1
orientation ×1
performance ×1
summary ×1
uilabel ×1
uitextview ×1
uiview ×1