我有我的问题UITableViewCellselection.I正在使用 UITableViewCell一个UITextView子视图.在UITextView启用用户交互的情况下,该对象不可编辑,不可滚动.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell=[[[NSBundle mainBundle]loadNibNamed:@"DemoCell" owner:self options:nil]objectAtIndex:0];
cell. accessoryType=UITableViewCellAccessoryDisclosureIndicator;
}
if([distanceArray count]){
UILabel *label1=(UILabel*)[cell viewWithTag:1];
label1.text=[locationNameArray objectAtIndex:[indexPath section]];
label1.textColor=[UIColor blueColor];
UILabel *label2=(UILabel*)[cell viewWithTag:2];
[label2 setText:[distanceArray objectAtIndex:[indexPath section]]];
UITextView *tview=(UITextView*)[cell viewWithTag:3];
[tview setText:[discriptionArray objectAtIndex:[indexPath section]]];
return cell;
}
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
DetailedLocationVIew *dView=[[DetailedLocationVIew alloc]initWithNibName:@"DetailedLocationVIew" bundle:nil];
[self.navigationController pushViewController:dView animated:YES];
[dView …Run Code Online (Sandbox Code Playgroud) 我UITableView用一个小框架创建了一个,如(0,0,50,50)。我想禁用水平滚动,但保持垂直滚动。
我设置了self.table.bounces = NO,但是tableview也不能垂直滚动。结果,动画不是那么完美。
所以有人有提示吗?
谢谢!
我创建了一个NSSearchField存储最近搜索列表的列表.搜索字段连接到一个方法,该方法使用键入搜索字段的文本更新窗口中的标签.问题是一旦用户键入搜索字段,标签就会更新,我需要标签不更新,直到用户键入文本然后按Enter键.我可以用典型的方式做到这一点,NSTextField但我想使用它,NSSearchField所以我可以显示最近的搜索.请参阅下面的代码并提供一些建议.谢谢.
接口文件:
#import <Cocoa/Cocoa.h>
@interface AppDelegate : NSObject <NSApplicationDelegate>
@property (assign) IBOutlet NSWindow *window;
@property (weak) IBOutlet NSSearchField *searchField;
@property (weak) IBOutlet NSTextField *textField;
- (IBAction)searchString:(id)sender;
@end
Run Code Online (Sandbox Code Playgroud)
实施文件:
#import "AppDelegate.h"
@implementation AppDelegate
@synthesize window = _window;
@synthesize searchField, textField;
- (void)awakeFromNib {
if ( [searchField respondsToSelector:@selector(setRecentSearches:)] ) {
NSMenu *searchMenu = [[NSMenu alloc] initWithTitle:@"Search Menu"];
[searchMenu setAutoenablesItems:YES];
NSMenuItem *recentsTitleItem = [[NSMenuItem alloc] initWithTitle:@"Recent Searches" action:nil keyEquivalent:@""];
[recentsTitleItem setTag:NSSearchFieldRecentsTitleMenuItemTag];
[searchMenu insertItem:recentsTitleItem atIndex:0];
NSMenuItem *norecentsTitleItem = …Run Code Online (Sandbox Code Playgroud) 有3个修饰符:@ private,@ protected(默认)和@public.因此,如果我将实例变量定义为私有,那么不应该从任何地方访问它.对于Eg -
@interface A {
@private
NSString *a;
}
@property(nonatomic, retain) NSString *a;
Run Code Online (Sandbox Code Playgroud)
现在内部实现一些其他接口/类B-
-(void)getSomeValue {
A *object = [[A alloc] init];
NSString *value = object.a;
.........
}
Run Code Online (Sandbox Code Playgroud)
在这里,我能够访问实例变量,虽然我将其定义为私有.
这有点令人困惑,虽然当我查看这个语句的细节时,很明显它正在调用a的getter,但是它也似乎令人困惑,它违背了OOPS的概念.
有没有想过这个?
我有一个custom UIView来自a UIViewController.该视图控制器可以呈现几个这样的视图中的一个.其中一个观点有一个UITextView.当一个人开始输入文字时UITextView,会显示键盘.但是,每当用户点击textview之外的任何地方时,我想解除键盘.由于UIViewsUIViewController基于某些条件可以呈现多个,我封装了UITextView委托方法等custom UIView,我这样做是使用Notifications from the custom UIViewlike
- (void)configureView
{
NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
[nc addObserver:self selector:@selector(keyboardWillShow:) name:
UIKeyboardWillShowNotification object:nil];
[nc addObserver:self selector:@selector(keyboardWillHide:) name:
UIKeyboardWillHideNotification object:nil];
self.tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self
action:@selector(didTapAnywhere:)];
}
-(void) keyboardWillShow:(NSNotification *) note {
[self addGestureRecognizer:self.tapRecognizer];
}
-(void) keyboardWillHide:(NSNotification *) note
{
[self removeGestureRecognizer:self.tapRecognizer];
}
-(void)didTapAnywhere: (UITapGestureRecognizer*) recognizer {
[self.detailsTextView resignFirstResponder];
}
Run Code Online (Sandbox Code Playgroud)
但是,当调用didTapAnywhere时,即使resignfirstresponder绑定,键盘也不会被解雇.仅供参考,代表UITextView是custom UIView.
帮助如何做到这一点
individualPercUpdated被称为上UIControlEventEditingDidEnd和checkInitialValue被callled上UIControlEventEditingDidBegin.if(!([initialValue isEqualToString:textField.text]))通过发出警告Exec Bad Access,我的程序崩溃了
- (void)viewDidLoad
{
[super viewDidLoad];
initialValue=[[NSString alloc] init];
}
-(void) individualPercUpdated:(UITextField *)textField{
if(initialValue!=nil){
if(!([initialValue isEqualToString:textField.text])){
initialValue=textField.text;
NSLog(@"%@",textField.text);
}
}
else{
NSLog(@"%@",textField.text);
}
}
-(void) checkInitialValue:(UITextField *)textField{
initialValue=textField.text;
}
}
Run Code Online (Sandbox Code Playgroud) 我有很多不同NSArrays,根据用户的选择我希望其中一个被复制到一个新的NSArray.如何将一个复制NSArray到另一个?
我正在添加一个对象"m" NSMutableArray如下:
[m setObject:a forKey:@"a"];
[m setObject:b forKey:@"b"];
[m setObject:c forKey:@"c"];
[m setObject:d forKey:@"d"];
[myArray addObject:m];
[m release];
Run Code Online (Sandbox Code Playgroud)
对于一个对象,它可以正常工作,但是当添加另一个对象时,对myArray中的所有对象重复相同的值.
怎么避免这个?
请帮忙.
谢谢.
我有UIPickerview2个组件.现在我想知道是否可以在按钮点击上隐藏/取消隐藏一个组件.可能吗 ?
我动态追加并从NSString中删除子串 -
在特定的操作我附加使用(我在添加新字符串时使用逗号分隔符) -
self.selectedString = [self.selectedString length] < 1 ? newSelectedString
: [self.selectedString stringByAppendingFormat:@",%@",newSelectedString];
Run Code Online (Sandbox Code Playgroud)
删除 - 现在这个逗号在删除字符串时为我创建了问题.目前我使用的解决方案是 -
self.selectedString = [self.selectedString stringByReplacingOccurrencesOfString:newSelectedString
withString:@""];
NSRange rangeSingleComma = [self.selectedString rangeOfString:@","];
NSRange rangeDoubleComma = [self.selectedString rangeOfString:@",,"];
if (rangeSingleComma.location == [self.selectedString length] - 1) {
self.selectedString = [self.selectedString substringToIndex:[self.selectedString length] - 1];
}
if (rangeSingleComma.location == 0) {
self.selectedString = [self.selectedString substringFromIndex:1];
}
if (rangeDoubleComma.location != NSNotFound) {
self.selectedString = [self.selectedString stringByReplacingOccurrencesOfString:@",,"
withString:@","];
}
Run Code Online (Sandbox Code Playgroud)
但这是一个非常肮脏的方法,任何人都可以提出一个很好的方法.
出于学习目的,我试图从头开始构建一个"SingleView"应用程序.
几乎 - 我使用"EmptyApp"模板.我这样做是为了理解在iPhone应用程序中实例化视图的方式.
到目前为止,我得到以下内容:
我从"SingleViewApp模板"复制了脚本.但是当我测试应用程序时,我的视图仍未显示.
看起来我错过了一些东西.它必须是绑定或类似的东西,因为脚本本身应该是相同的.控制台也给我以下消息:
"应用程序在应用程序启动结束时应该有一个根视图控制器"
好.我如何告诉我的应用,采取我的观点并以root身份使用它?
谢谢伙计......感谢每一位帮助
mogio
ios ×6
iphone ×6
objective-c ×6
cocoa ×2
nsstring ×2
uitableview ×2
uitextview ×2
xcode ×2
interface ×1
nsarray ×1
nstextfield ×1
substring ×1
uikeyboard ×1
uiscrollview ×1
uitextfield ×1
uiview ×1
view ×1