小编iDe*_*Dev的帖子

在缩放用户操作之后,UIScrollView不会平移

UIScrollView在Interface Builder中包含一个UIView.在正在运行的应用程序中,即使视图大于scrollView,当我平移scrollView时,它总是反弹回原点.直到,也就是说,我用一个捏动手势来缩放scrollView.之后,平移使所包含的视图处于正确状态.

我是否在scrollView或contentOffset设置中遗漏了一些关于平移/缩放的设置?我无法弄清楚scroolView在缩放之前到缩放之后有什么变化,这使得它可以在之后但不是之前按预期工作.任何人都解决了这个问题,谢谢!

objective-c uiscrollview ios

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

UISegmentedControl中条形之间的空格

如何增加UISegmentedControl中栏之间的空间?而不是创建一个单独的按钮.我想分割段控制条.

在此输入图像描述

iphone objective-c uisegmentedcontrol ios

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

将字符串对象添加到NSMutuableArray

我正在尝试将NSString对象添加到NSMutuableArray : tableItems = [tableItems addObject:timeString];. 我已经初始化了数组但是当我添加NSString对象时,我收到此错误:Assigning to 'NSMutuableArray *_strong'from incompatible type void.

整个代码在这里:

ViewController.h

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController{
    UILabel *lbl;
    NSTimer *stopTimer;
    NSDate *startDate;
    BOOL running,lap;
    UIButton *bttn;
    NSMutableArray *tableItems;
    NSString *timeString;
}

@property (strong,nonatomic) IBOutlet UILabel *lbl;
@property (strong,nonatomic) IBOutlet UIButton *bttn;
@property (strong,nonatomic) NSMutableArray *tableItems;
@property (strong,nonatomic) NSString *timeString;

-(IBAction)startPressed:(id)sender;
-(IBAction)resetPressed:(id)sender;

-(void)updateTimer;

@end
Run Code Online (Sandbox Code Playgroud)

ViewController.m

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController
@synthesize lbl,bttn,tableItems,timeString;

- (void)viewDidLoad
{
    [super viewDidLoad];
    lbl.text = @"00.00.00.000";
    running …
Run Code Online (Sandbox Code Playgroud)

objective-c nsmutablearray ios

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

如何在我的应用程序最小化之前捕获事件?

我需要关闭我通过单击主页按钮最小化应用程序时使用的一些资源.

注意,我不想拦截Home按钮,我知道Apple不允许这样做

谢谢

iphone xcode cocoa-touch objective-c ios

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

我无法通过互联网连接到我的服务器

我可以在我的本地计算机上运行服务器并在同一台计算机上连接它,但当我尝试通过Internet从另一台计算机连接到它时,我的服务器上没有活动的迹象,也没有来自服务器的响应在计算机上我正在测试它.我试过XP和Vista,关闭防火墙,打开端口,以管理员身份运行; 什么都没有用.:(

这是我用来接受传入连接的代码:


int port = 3326;
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            try
            {
                TcpListener listener = new TcpListener(new IPEndPoint(IPAddress.Any, port));
                listener.Start();
                Console.WriteLine("Server established\nListening on Port: {0}\n", port);
                while (true)
                {
                    socket = listener.AcceptSocket();
                    socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, outime);
                    socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.KeepAlive, true);
                    socket.DontFragment = true;
                    NewConnection pxy = new NewConnection(socket);
                    Thread client = new Thread(new ThreadStart(pxy.Start));
                    client.IsBackground = true;
                    client.Start();
                }
}
Run Code Online (Sandbox Code Playgroud)

c# sockets networking

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

Cocos2d-iPhone或Sparrow首次进行2D iOS游戏开发?

我刚刚得到了基本的UIKit.我已经制作了几个个人应用程序等等,但现在我已经准备好与其他一些开发人员一起开始游戏了.这两个框架看起来都很强大,并且有很多花里胡哨的东西.

有人有偏好吗?相互比较时有利有弊吗?他们似乎都有类似的语法和性能.

iphone objective-c cocos2d-iphone sparrow-framework

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

UIScrollView不会调整高度以适应子视图

我有一个UITextView,它从RSS源动态设置其文本.textview是a的子视图UIScrollview.最终,我正在创建一个移动报纸应用程序,因此用户应该能够滚动文本(和其他子视图).

在IB中创建视图后,我补充道

NSString *sourceCode = [NSString stringWithContentsOfURL:[NSURL URLWithString:self.URL] encoding:NSUTF8StringEncoding error:&error];
sourceCode = [self parseHTMLText:sourceCode];
CGSize maximumLabelSize = CGSizeMake(320,9999);
CGSize txtStringSize = [sourceCode sizeWithFont:self.body.font
                              constrainedToSize:maximumLabelSize];
CGRect newlblFrame = CGRectMake(0, 0, 320, txtStringSize.height);
self.body.frame = newlblFrame; //body is the textview
self.body.text = sourceCode;
self.scroll.contentSize=CGSizeMake(320, self.body.frame.size.height+300); //scroll is scrollview
Run Code Online (Sandbox Code Playgroud)

典型的NSLog会显示body frame = {{0, 0}, {320, 2088}} scrollview frame = {{0, 0}, {320, 417}} scrollview content size = {320, 2388}

但是,当我运行应用程序时,正文维护其界面构建器高度约为196,并且滚动视图将不会滚动(当我移动它时,它只是弹回到其原始位置)

另外,当我尝试使用CGRectMake手动更改textview的框架时,NSLog会显示正确的高度,但视图看起来并不相同.我确保它在IB中正确连接,因为我可以调整其他属性,比如背景颜色.

编辑:

在我将textview的cliptoBounds属性设置为NO后,textview现在调整其高度并尝试显示整个文本.但是,它在屏幕的末尾切断,我仍然无法滚动.

这是我目前看到的.为方便起见,我将scrollview背景颜色设置为灰色.我不确定为什么部分scrollview部分是白色和部分灰色.(标题)是一个单独的标签btw)

在此输入图像描述

objective-c uiscrollview uilabel ios

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

在文件名或对象名中插入变量

我有办法放 [objects objectNamed:@"level"[insert i]"start"];

这是我现在唯一可以做到的方法,但我想用i代替数字.

CCTMXObjectGroup *objects = [theMap objectGroupNamed:@"level1_oj"];
NSMutableDictionary *start1;
if(i ==0)
{
    start1 = [objects objectNamed:@"level1start"];
}
if(i ==1)
{
    start1 = [objects objectNamed:@"level2start"];
}

CGFloat x = [[start1 valueForKey:@"x"]intValue];
CGFloat y = [[start1 valueForKey:@"y"]intValue];

levelstart[i]=ccp(((x/2)-i*480),y/2);
Run Code Online (Sandbox Code Playgroud)

objective-c

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

将目标C文件扩展名从.m更改为.mm会导致错误

最初我在LoginViewController.m中有包含下面警告的文件,我忽略了它.代码工作正常.

warning: sending 'LoginViewController *' to parameter of incompatible type 'id<NSStreamDelegate>'
Run Code Online (Sandbox Code Playgroud)

但现在我将文件扩展名更改为.mm(LoginViewController.mm).现在我无法再构建项目了,因为这个错误.

Cannot initialize a parameter of type 'id<NSStreamDelegate>' with an lvalue of type 'LoginViewController *'
Run Code Online (Sandbox Code Playgroud)

怎么了?

cocoa-touch protocols objective-c ios

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

UIView动画隐藏和显示

我开始使用UIView动画.并且无法使这些代码正常工作.这就是我所拥有的

if(_Language.hidden == true)
{
    [UIView animateWithDuration:1.0
                          delay:0.0
                        options:UIViewAnimationCurveEaseInOut
                     animations:^ {
                        _Language.alpha = 1.0;
                     }
                     completion:^(BOOL finished) {
                         _Language.hidden = false;
                     }];
}
else
{
    [UIView animateWithDuration:1.0
                          delay:0.0
                        options:UIViewAnimationCurveEaseInOut
                     animations:^ {
                         _Language.alpha = 0.0;
                     }
                     completion:^(BOOL finished) {
                         _Language.hidden = true;
                     }];
}
Run Code Online (Sandbox Code Playgroud)

此代码以这种方式工作.隐藏动画按预期工作.但是显示动画只等待1秒,然后弹出对象而没有任何过渡.谁能告诉我这里缺少什么?

cocoa-touch block objective-c ios

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

在iOS中使用NSNumberFormatter进行货币转换时遇到问题

我有一个UITextField,它接收我的应用程序中用户的数字输入.然后,在我的shouldChangeCharactersInRange委托方法中,使用NSNumberFormatter将此文本字段中的值转换为货币格式.当我输入数字"12345678"时,数字被正确转换为$ 123456.78(数字一次输入一位数,到目前为止,一切顺利).但是,当我在此之后输入另一个数字(例如9),而不是显示"1234567.89"时,会显示数字"1234567.88".如果我之后输入另一个数字,之后会有一个完全不同的数字(我在应用程序中使用数字键盘输入数字.这是我的代码:

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterCurrencyStyle];
modifiedValue = [formatter stringFromNumber:[NSNumber numberWithFloat:[modifiedValue floatValue]]];
textField.text = modifiedValue;
Run Code Online (Sandbox Code Playgroud)

导致这种异常转换的行是这样的:

modifiedValue = [formatter stringFromNumber:[NSNumber numberWithFloat:[modifiedValue floatValue]]];
Run Code Online (Sandbox Code Playgroud)

谁能明白为什么会这样?

uitextfield nsnumberformatter ios uitextfielddelegate

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

NSSet:返回一个NSArray对象,按每个对象的某些属性上的字符串列表排序?

我有一个NSSet对象.

集合中的每个对象都是一个MyObject带有属性的实例name.

我有另一个NSArray名为nameIndexes,其中包含名称值.

我想有一个函数,它接受NSSet并返回一个排序数组,该数组使用name属性根据其在nameIndexes数组中的位置进行排序.

编辑:

对不起我的误导,这是一个例子:

我有一组MyObject(可能不是相同的顺序):

MyObject1 {name:@"A"}

MyObject2 {name:@"B"}

MyObject3 {name:@"C"}
Run Code Online (Sandbox Code Playgroud)

我有另一组名字:

{"B", "A", "C"}
Run Code Online (Sandbox Code Playgroud)

我想要一个NSArray:

{MyObject2, MyObject1, MyObject3}
Run Code Online (Sandbox Code Playgroud)

objective-c nsarray nsset ios

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