首先,我知道这个问题已经存在于整个网站上,但我已经看了几乎所有这些问题,似乎无法找出问题所在.这是在VS 2012.谢谢.
//Socket.h
#pragma once
#include <iostream>
#include <WinSock2.h>
using namespace std;
const int STRLEN = 256;
class Socket
{
protected:
WSADATA wsaData;
SOCKET mySocket;
SOCKET myBackup;
SOCKET acceptSocket;
sockaddr_in myAddress;
public:
Socket();
~Socket();
bool SendData( char* );
bool RecvData( char*, int );
void CloseConnection();
void GetAndSendMessage();
};
class ServerSocket : public Socket
{
public:
void Listen();
void Bind( int port );
void StartHosting( int port );
};
class ClientSocket : public Socket
{
public:
void ConnectToServer( const char *ipAddress, …
Run Code Online (Sandbox Code Playgroud) 我有一个应用程序,有许多不同的按钮排列在计算器,如方形/矩形格式.它实际上与默认的iOS计算器非常相似.大约有6行,每个按钮有4列.
问题
我遇到的问题涉及底行中的按钮(大约是iPhone 4屏幕的底部10).当按下它们时,它们不能正常工作,按下它们时必须按住它们(大约不到一秒钟)以注册"按下按钮".这与标准短抽头相反.
除此底行之外没有其他按钮以这种方式运行.
此外,如果这些按钮在其上边缘轻敲,它们会表现正常,一旦触摸就会响应.这让我相信按钮本身不是问题,但是我的视图布局存在一些问题.
还应注意,该问题仅存在于物理设备上.在模拟器上,按钮表现正常.
上下文
包含这些按钮的视图不是应用程序的根视图控制器.相反,它转变为如此(这里没什么特别的):
[self presentViewController:navController animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)
self是根视图控制器
我遇到问题的视图控制器包含在导航控制器中,并由根视图控制器以模态方式显示,您可以在上面看到.
到目前为止我尝试过的
打开和关闭自动布局:同样的问题
重新排列视图层次结构:我将有问题的按钮移动到所有其他视图的顶部和后面,结果相同:同样的问题
多个设备(iPhone 4,4s,5):同样的问题(虽然按钮在3.5英寸和4英寸模拟器上都能正常响应)
测试其他应用程序(当在其他应用程序上按下此区域中的按钮时,它们的行为正常)
附加信息
我有一个UITableView
1节和节标题,我想保持标题的一切相同,但只需在右侧添加一个按钮.我无法将按钮放在导航控制器中,因为放置这样一个按钮的两个可用位置已被其他按钮占用.
在这里你可以看到我试图做的结果.现在,我想要做的就是在标题的右侧添加一个添加按钮,但我尝试过的却没有用.我还尝试了StackOverflow上的其他一些解决方案,但是他们并没有完成我想做的事情.此外,如果有更好的方法来创建添加按钮,请告诉我.我尝试使用a UIBarButtonItem
但我无法弄清楚如何将其视图添加到实际视图中.谢谢!
这是我到目前为止在我的代表中所做的事情:
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
UIButton *addButton = [[UIButton alloc] init]; //I also tried setting a frame for the
button, but that did not seem to work, so I figured I would just leave it blank for posting
the question.
addButton.titleLabel.text = @"+";
addButton.backgroundColor = [UIColor redColor];
[self.tableView.tableHeaderView insertSubview:addButton atIndex:0];
//I feel like this is a bad idea
return self.tableView.tableHeaderView;
}
- (CGFloat) tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
return 50;
}
Run Code Online (Sandbox Code Playgroud) 假设我声明了一个模板,但从未在C++中引用它.编译器是否在可执行文件中对它做了什么?它会占用任何进程内存吗?
我有一个十六进制代码数组,可以转换为汇编指令,我想在C中创建可以执行这些代码的程序.
unsigned char rawData[5356] = {
0x4C, 0x01, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x0C, 0x00, 0x00,
0x3D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x01, 0x2E, 0x74, 0x65, 0x78,
0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xB4, 0x05, 0x00, 0x00, 0xA4, 0x01, 0x00, 0x00, 0x68, 0x08, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, 0x20, 0x00, 0x30, 0x60,
0x2E, 0x64, 0x61, 0x74, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, …
Run Code Online (Sandbox Code Playgroud) 我需要一种方法来查找一个字符的数量NSString
.我的应用程序的性质需要许多多字符unicode字符,这给该length
方法带来了明显的问题NSString
.
从Apple的开发者网站复制:
Length
Returns the number of Unicode characters in the receiver.
- (NSUInteger)length
Return Value The number of Unicode characters in the receiver.
Run Code Online (Sandbox Code Playgroud)
我不想要字符数本身,而是要打印出字符串时会看到的字符数.我在应用程序中使用的一些字符是带有上划线的数字和字母,即0̄.在unicode中,这用两个单独的unicode字符表示,但是,在打印时,它是一个单独的实体.当找到字符串的长度时,我需要像0这样的字符只计算为1,而不是像NSString length
方法那样计算为2 .有办法做到这一点吗?谢谢.
我有一个jpg图像命名Check Mark.jpg
,我正在尝试加载到表视图单元格的附件视图中.这是我目前的代码:
cell.accessoryView =
[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Check Mark.jpg"]];
Run Code Online (Sandbox Code Playgroud)
在cellForRowAtIndexPath
方法中
当我这样做时,表格视图单元格中没有任何内容显示.我检查了文件的名称,并尝试将其放在包含.xcodeproj文件的文件夹和包含所有代码文件的文件夹中.这些都没有奏效.我也尝试声明UIImageView
和UIImage
作为强大的属性并在init:
方法中初始化它们.这些都不起作用.我可以在视图中显示细节公开按钮,所以我知道配件视图在那里,但我似乎无法弄清楚如何显示这个简单的图像.
我是否必须以某种方式将图像加载到我的项目中?
我正在尝试为我的应用创建应用内购买,但是遇到了问题。付款过程开始,用户必须输入密码;但是,付款实际上从未完成。我知道我在iTunesconnect中设置了正确的标识符,并且我还创建了一个测试帐户来购买应用内购买。
当我运行下面的代码时,输出以下消息:
“用户可以付款”
“有货”
“交易状态->采购”
输入密码后,系统会提示我在沙盒环境中确认我的应用内购买。我单击购买,提示消失;但是我从来没有收到实际购买的消息。只是什么都没有发生。没有启用附加组件,什么也没有。这在模拟器和实际设备上都会发生。但是,如果我按取消而不是购买,我会收到“交易状态->已取消”消息。
知道我在做什么错吗?
- (void)buyTapped {
if ([SKPaymentQueue canMakePayments]) {
NSLog(@"User can make payments");
SKProductsRequest *productRequest = [[SKProductsRequest alloc] initWithProductIdentifiers:[NSSet setWithObject:kLineColorProductIdentifier]];
[productRequest setDelegate:self];
[productRequest start];
}
else {
NSLog(@"User cannot make payments");
}
}
#pragma mark - SKProductsRequestDelegate
- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response {
validProduct = nil;
int count = (int)[response.products count];
if (count > 0) {
validProduct = [response.products objectAtIndex:0];
NSLog(@"Products are available");
SKPayment *payment = [SKPayment paymentWithProduct:validProduct];
[[SKPaymentQueue defaultQueue] addTransactionObserver:self];
[[SKPaymentQueue defaultQueue] addPayment:payment];
} …
Run Code Online (Sandbox Code Playgroud) 我有一个模态视图控制器,我从另一个视图控制器调用.在解除模态视图控制器后,我想在视图控制器上调用一个方法来呈现该模态视图.最简单的方法是什么?
我尝试在我的模态视图控制器中执行此操作:[(ParentViewController*)self.presentingViewController foo];
在调用之前[self dismissViewControllerAnimated:YES completion:nil];
.
Xcode给我一个错误,说foo不被识别,即使它是在控制器中定义和原型化的.如果您的解决方案涉及块,我真的不理解它们,所以如果您想添加更多细节,我将不胜感激.谢谢.
ParentViewController.h
@interface ParentViewController : UITableViewController <UITableViewDelegate, UITableViewDataSource>
{
NewAssignmentViewController *newAssignmentViewController;
TableViewDataSource *data;
}
-(void)foo;
@end
Run Code Online (Sandbox Code Playgroud) modalviewcontroller presentmodalviewcontroller ios objective-c-blocks
我知道这个问题是stackoverflow上的其他地方,但这些解决方案都没有对我有用.我有两个带有表视图的选项卡,我想使用相同的数据源.第一个选项卡的视图控制器是.的子类UITableViewController
.第二个是UIViewController
在IB中设置tableView 的简单.我最初设置视图控制器初始化程序以将数据源作为参数,但由于崩溃太多,我试图通过简单地在视图控制器中分配它来简化操作.我有表视图和数据源设置如下:
@property (weak, nonatomic) IBOutlet UITableView *tableView; //Connected in IB
@property (strong, nonatomic) TableViewDataSource *data;
Run Code Online (Sandbox Code Playgroud)
我的程序总是在崩溃时崩溃:[self.tableView setDataSource: data];
我尝试将该行放在viewDidLoad
方法中,但我的程序仍然崩溃.这是我的viewDidLoad
方法:
- (void)viewDidLoad
{
[super viewDidLoad];
data = [TableViewDataSource new]; //My data source object
NSLog(@"%@", data); //This isn't null, it says TableViewDataSource and then some address
[self.tableView setDataSource:data];
}
Run Code Online (Sandbox Code Playgroud)
我的第一个视图控制器工作正常 它也可以很好地加载数据,所以我不相信我在数据源对象中犯了任何错误.但每次我点击第二个选项卡时,程序立即崩溃.但是,如果我省略数据源赋值语句,它不会崩溃.
这是崩溃:
2013-08-14 12:56:57.313 iPlanner[961:c07] *** Assertion failure in -[UITableView _configureCellForDisplay:forIndexPath:], /SourceCache/UIKit_Sim/UIKit-2380.17/UITableView.m:5471
2013-08-14 12:56:57.314 iPlanner[961:c07] *** Terminating app due to uncaught exception …
Run Code Online (Sandbox Code Playgroud)