Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Small White Dragon
Nov 23, 2007

No relation.
Glad I didn't want to go to WWDC that badly this year. Tickets went on sale at 5:30am Pacific Time, and sold out in two hours :psyduck:

Adbot
ADBOT LOVES YOU

Simulated
Sep 28, 2001
Lowtax giveth, and Lowtax taketh away.
College Slice
Apple is going to have to start live streaming WWDC. There is just way too much demand; I don't think it's even possible for them to have enough slots. We should be able to watch the sessions over the Internet.

Doc Block
Apr 15, 2003
Fun Shoe
I don't think very many people would have a problem with Apple restricting WWDC attendance to devs with at least one app in the store.

And, you know, opening registration in Pacific time.

Doc Block
Apr 15, 2003
Fun Shoe
LP0, I tried to fix your methods. Dunno if they'll work:
code:
-(void) addSelectionScreenOverlay {

    // overlay

    [[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"selectionScreenOverlay.plist"];

    //selectionScreenOverlaySpriteSheet = [CCSpriteBatchNode batchNodeWithFile:@"selectionScreenOverlay.png"];
	self.selectionScreenOverlaySpriteSheet = [CCSpriteBatchNode batchNodeWithFile:@"selectionScreenOverlay.png"];

	// Why are you doing this? You never assign selectionScreenFrames to anything that gets retained beyond this method
    NSMutableArray *selectionScreenFrames = [NSMutableArray array];

	//what?
    //[selectionScreenFrames addObject:
    // [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:
    //  [NSString stringWithFormat:@"selectionScreenOverlay.png"]]];
	[selectionScreenFrames addObject:[[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:@"selectionScreenOverlay.png]];

	// what's with the NSString stuff?
    //selectionScreenOverlaySprite = [CCSprite spriteWithSpriteFrameName:[NSString stringWithFormat:@"selectionScreenOverlay.png"]];
    self.selectionScreenOverlaySprite = [CCSprite spriteWithSpriteFrameName:@"selectionScreenOverlay.png"];  

    [selectionScreenOverlaySpriteSheet addChild:selectionScreenOverlaySprite];

    [self addChild:selectionScreenOverlaySpriteSheet z:13];

	// try to access via the @property setter & getter methods
    //selectionScreenOverlaySprite.position = [self convertToNodeSpace:CGPointMake(512, 384)];
    //selectionScreenOverlaySprite.scale = 260;
    // also, why are you calling convertToNodeSpace: ? if you're just trying to add it to a certain spot on the layer,
    // you can just do self.selectionScreenOverlaySprite.position = CGPointMake(512, 384);
    // which will be relative to the parent's position
    self.selectionScreenOverlaySprite.position = [self convertToNodeSpace:CGPointMake(512, 384)];
    self.selectionScreenOverlaySprite.scale = 260;

    self.selectionScreenOverlaySprite.opacity = 0;

}
code:
// Why is this a class method? This should be an instance method for whatever layer needs this functionality.
// Also, are you trying to pass sprite and spriteSheet back to the caller? Because that isn't what this method does.
+(void) addSelectionScreenOverlayOnLayer:(CCLayer*)layer withSprite:(CCSprite*)sprite withSpriteSheet:(CCSpriteBatchNode*)spriteSheet {

    [[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"selectionScreenOverlay.plist"];

	// Nope. You're just throwing away whatever gets passed in spriteSheet
    //spriteSheet = [CCSpriteBatchNode batchNodeWithFile:@"selectionScreenOverlay.png"];

    NSMutableArray *selectionScreenFrames = [NSMutableArray array];

    // again with the NSString thing
    [selectionScreenFrames addObject:
     [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:
      [NSString stringWithFormat:@"selectionScreenOverlay.png"]]];

	// Same as with spriteSheet. You aren't passing it back to the caller.
    //sprite = [CCSprite spriteWithSpriteFrameName:[NSString stringWithFormat:@"selectionScreenOverlay.png"]];  

    [spriteSheet addChild:sprite];

    [layer addChild:spriteSheet z:13];

    sprite.position = [layer convertToNodeSpace:CGPointMake(512, 384)];
    sprite.scale = 260;

    sprite.opacity = 0;    

}
and a version of +addSelectionScreenOverlayOnLayer:withSprite:withSpriteSheet: that creates the sprite and spritesheet and passes them back to the caller (if that's what you were trying to do).
code:
// We're taking pointers to pointers as our arguments for sprite and spriteSheet
// sprite and spriteSheet are autoreleased, so after calling this method you should retain them if you need them.
+ (void)addSelectionScreenOverlayOnLayer:(CCLayer *)layer withSprite:(CCSprite **)sprite withSpriteSheet:(CCSpriteBatchNode **)spriteSheet
{
	[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"selectionScreenOverlay.plist"];
	
	// Notice that we're dereferencing the pointer-pointer. In other words, we're accessing the pointer that our
	// pointer-to-a-pointer points to.
	*spriteSheet = [CCSpriteBatchNode batchNodeWithFile:@"selectionScreenOverlay.png"];
	
	// I put this here because you did, but remember that this isn't accessible outside this method.
	NSMutableArray *selectionScreenFrames = [NSMutableArray array];
	
	[selectionScreenFrames addObject:[[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:@"selectionScreenOverlay.png"]];
	
	*sprite = [CCSprite spriteWithSpriteFrameName:@"selectionScreenOverlay.png"];
	
	[*spriteSheet addChild:*sprite];
	
	[layer addChild:*spriteSheet z:13];
	
	// I assume you know what you're doing using convertToNodeSpace:
	*sprite.position = [layer convertToNodeSpace:CGPointMake(512, 384)];
	// This might do the same thing, though. The sprite's position is relative to its parent (spriteSheet),
	// who's position is (0,0) relative to *its* parent, the layer.
	*sprite.position = CGPointMake(512, 384);
	*sprite.scale = 260;
	*sprite.opacity = 0;
}
and call it like this:
code:
CCSprite *alienDeathBlaster;
CCSpriteBatchNode *alienSpriteSheet;
// Note: we're passing the address of the pointer variables, not the pointers themselves (aka their value, aka the address of the sprite and spriteSheet.
[SpriteFX addSelectionScreenOverlayOnLayer:self withSprite:&alienDeathBlaster withSpriteSheet:&alienSpriteSheet];
Keep in mind that this code was written at 12:30 AM and who knows if it will even compile.

duck monster
Dec 15, 2004

lord funk posted:

Yeah, I ended up just nuking the whole repository. It's just me working on this, and I was mainly doing it to get comfortable with source control in general. I might give it another go for a master / update branch type thing, but drat if it hasn't been unreliable.

I'm comfortable with the fact that apples revision management can stay the gently caress away from my code. Its Mercurial or bust for me. That poo poo just works.

duck monster
Dec 15, 2004

Doc Block posted:

I don't think very many people would have a problem with Apple restricting WWDC attendance to devs with at least one app in the store.

And, you know, opening registration in Pacific time.

That and some of us are literally on the other side of the planet.

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slægt skal følge slægters gang



I have an object that can either represent a single date, or a period in time (ie "Jun 25, 1980" or "from Apr 1, 1976 to Aug 12, 2011" but also "before/after Dec 3, 1784" - in other words a period with either no start- or end-point). I'm trying to think up a good interface for it but they are all clumsy.

Some ideas:

- (BOOL)getDates:(NSDate[])dates;

Return value is whether it's a period or not (NO = one date, YES = two dates - but either may be nil).

@property (readonly) NSDate *dateA;
@property (readonly) NSDate *dateB;
@property (readonly) BOOL isPeriod;

If (!isPeriod), dateA is the single date.

@property (readonly) NSDate *date;
@property (readonly) NSDate *fromDate;
@property (readonly) NSDate *toDate;
@property (readonly) BOOL isPeriod;

More explicit, if (isPeriod) use from/to properties, otherwise use date property.

Any thoughts?

Carthag Tuek fucked around with this message at 14:32 on Apr 26, 2012

no.op
Oct 27, 2007

kitten smoothie posted:

How do I avoid getting duplicate symbol issues when a user of my library goes to link? Is it sufficient to put a prefix on the class names for whatever third party dependencies I want to end up bundling in?
Not sure this exactly matches your problem and haven't tried it myself but saw this similar thing the other day:

http://atastypixel.com/blog/avoiding-duplicate-symbol-issues-when-using-common-utilities-within-a-static-library/

no.op fucked around with this message at 15:18 on Apr 26, 2012

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

Carthag posted:

I have an object that can either represent a single date, or a period in time (ie "Jun 25, 1980" or "from Apr 1, 1976 to Aug 12, 2011" but also "before/after Dec 3, 1784" - in other words a period with either no start- or end-point). I'm trying to think up a good interface for it but they are all clumsy.

Some ideas:

- (BOOL)getDates:(NSDate[])dates;

Return value is whether it's a period or not (NO = one date, YES = two dates - but either may be nil).

@property (readonly) NSDate *dateA;
@property (readonly) NSDate *dateB;
@property (readonly) BOOL isPeriod;

If (!isPeriod), dateA is the single date.

@property (readonly) NSDate *date;
@property (readonly) NSDate *fromDate;
@property (readonly) NSDate *toDate;
@property (readonly) BOOL isPeriod;

More explicit, if (isPeriod) use from/to properties, otherwise use date property.

Any thoughts?

The most primitive thing I can think of is to have two dates, a minimum and maximum. If they're equal, it's one date and not a range. If you want an unbounded range, set either the minimum or maximum to the minimum or maximum NSDate. From there you can write methods to check if e.g. some given date is in the range.

From this you could add a couple methods to check if e.g. a given date is in the range.

LP0 ON FIRE
Jan 25, 2006

beep boop
Doc Block, and everyone else, thanks very much for helping.

Doc Block - I'm trying to assign the position, scale and opacity properties like you have in the code you provided, but it is giving me "Member reference base type 'CCSprite **' is not a structure or union" errors. I tried playing around with it a bit with no success and trying to understand this pointer-to-pointer stuff since I've never done it much before.

Also sorry about the NSString nonsense. That was just copied and pasted over from something that conditionally had different strings added to the file names.

Edit: I think I've got it. I need to put parentheses around *sprite and access the property like this: (*sprite).opacity = 0;

But I don't know why :confused:

Edit 2: A confirmation that it works! I'll need to study this approach a whole bunch to understand it. I'm a little slow at this stuff, and I don't think I have the mind for it, but I've been learning SLOWLY. (Also I'm not a computer science major)

So, thanks again everyone. Maybe I'll understand why I should use an instance over a class method. The reason the way I should take the class method approach is because I don't want to clutter up my class making the calls with alloc and release lines, but maybe that's not a good reason.

LP0 ON FIRE fucked around with this message at 19:00 on Apr 26, 2012

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slægt skal følge slægters gang



Thanks pokeyman, min&max are obviously better names than a&b.

Doc Block
Apr 15, 2003
Fun Shoe
LP0, I'd suggest really trying to get a solid grasp of pointers. Understanding them is essential to getting anywhere in a C language.

Also, I have no formal programming or computer science education either. It can be discouraging because you want to jump right in and make something big like a game right away, but taking the time to learn the fundamentals will pay off.

kitten smoothie
Dec 29, 2001

no.op posted:

Not sure this exactly matches your problem and haven't tried it myself but saw this similar thing the other day:

http://atastypixel.com/blog/avoiding-duplicate-symbol-issues-when-using-common-utilities-within-a-static-library/

Huh, that might be just what I need. I'll have to give this a try. Thanks.

Lumpy
Apr 26, 2002

La! La! La! Laaaa!



College Slice
EDIT: Hit post and saw I had a typo in my source... thanks thread!! :v:

EDIT 2: I had posted a "why the hell isn't my image showing upp???" question.. turns out it's because I typoed the file name. What's odd is that it was working fine in the simulator. My image was named Landscape.png and my define was:

code:
#define L_IMG_NAME @"LandScape.png"
Note the capital 's' in scape. The simulator had no problem showing me the image, but the device didn't (which is what I would have expected!) So watch out for that crazyness!!

Lumpy fucked around with this message at 18:16 on Apr 27, 2012

some kinda jackal
Feb 25, 2003

 
 
OSX filesystem case insensitivity strikes again :twisted:

Wonder why they defaulted the iOS FS to case insensitive.

lord funk
Feb 16, 2004

And another reason to never, never trust that the simulator results will be the same on the actual device.

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

Martytoof posted:

OSX filesystem case insensitivity strikes again :twisted:

Wonder why they defaulted the iOS FS to case insensitive.

I'm guessing iOS is case-sensitive because OS X should've been.

haveblue
Aug 15, 2005



Toilet Rascal
OS X is case-insensitive because MacOS was case-insensitive, which was because Apple decided that most normal people's intuition was case-insensitive and allowing "landscape.png" and "LandScape.png" to exist side-by-side was not worth the confusion it could potentially cause in everyday use. You can format HFS+ disks as case-sensitive, and the OS will respect it, but this has a good chance of breaking third-party software.

I'm assuming iOS was made case-sensitive because only programmers are supposed to know or care about its underlying filesystem and we tend to prefer it that way for the reasons we're seeing in this thread.

haveblue fucked around with this message at 18:44 on Apr 27, 2012

Bob Morales
Aug 18, 2006


Just wear the fucking mask, Bob

I don't care how many people I probably infected with COVID-19 while refusing to wear a mask, my comfort is far more important than the health and safety of everyone around me!

OS X is case-sensitive, but they give you the choice of whether you want the filesystem to be or not.

But classic apps aren't compatible with case-senstive filesystems, and lots (most?) of big-name current software isn't either. FileMaker, WoW, Adobe's stuff...

Was the iOS team forced to just pick one file system or something? Why would they pick case-insensitive and cause pain for developers?

LP0 ON FIRE
Jan 25, 2006

beep boop

Bob Morales posted:

Was the iOS team forced to just pick one file system or something? Why would they pick case-insensitive and cause pain for developers?

I have no idea. It's caused me to waste a lot of time too. There's a good answer here of how to turn case-sensitivity on for iOS: http://stackoverflow.com/questions/5908931/make-iphone-simulator-case-sensitive-on-file-access

some kinda jackal
Feb 25, 2003

 
 

lord funk posted:

And another reason to never, never trust that the simulator results will be the same on the actual device.

I'll never forget my first foray into iOS development. I wrote a spiffy little demo app that ran like greased lightning in the simulator.

Then I'm pretty sure I made this face when I tried to run it on my iPhone 3G: :stonk:

kitten smoothie
Dec 29, 2001

Bob Morales posted:

But classic apps aren't compatible with case-senstive filesystems, and lots (most?) of big-name current software isn't either. FileMaker, WoW, Adobe's stuff...
Yeah, I learned this the hard way after wiping & reinstalling my Mac a few months ago.

I already discovered how case sensitivity can affect how assets get loaded on iOS and I thought making my desktop filesystem case sensitive would help head this stuff off at the pass when it didn't load right in the simulator.

Then of course after I spend an evening getting my environment back together, I go to install Adobe CS5.5 and the first thing it tells me is I can't put it on a case sensitive filesystem.

Bob Morales
Aug 18, 2006


Just wear the fucking mask, Bob

I don't care how many people I probably infected with COVID-19 while refusing to wear a mask, my comfort is far more important than the health and safety of everyone around me!

Once I had an issue that involved me either formatting my first MBP or an external HD as case-insensitive, then copying over my MP3 collection that was on an NTFS or FAT32 drive to the computer, and I duplicated the majority of the files somehow, so I'd have poo poo like:

Justin Bieber - Boyfriend.mp3
Justin Bieber - Boyfriend.MP3
justin bieber - boyfriend.mp3
Justin Bieber - BoyFriend.mp3

:argh:

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slægt skal følge slægters gang



That doesn't make sense

Simulated
Sep 28, 2001
Lowtax giveth, and Lowtax taketh away.
College Slice

haveblue posted:

I'm assuming iOS was made case-sensitive because only programmers are supposed to know or care about its underlying filesystem and we tend to prefer it that way for the reasons we're seeing in this thread.

Who's this "we"? You got a mouse in your pocket?

Case-sensitivity exists because computers were slow, memory was constrained, so why bother doing the more expensive comparisons when a simple byte comparison will work? Since we are no longer gorillas angrily mashing the punch cards there is no reason for being case sensitive. Ever.

In fact I'd go so far as saying there is zero legitimate case for case-sensitivity of variables in code; It just invites mistakes. I know people will argue about this point but I don't give a poo poo, those people are wrong.

lord funk
Feb 16, 2004

Speaking of doing things the right way, Cocoa Design Patterns really is good. I can't wait to start a new project to do things well from the start.

Edit: also, it does suck that the iBooks version is 2x the price of the Kindle version.

lord funk fucked around with this message at 14:34 on Apr 29, 2012

some kinda jackal
Feb 25, 2003

 
 
Hey speaking of that, is the 2009 edition still the newest publishing of that book?

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slægt skal følge slægters gang



Appears so yeah. I tried looking at Erik M. Buck's homepage and don't see anythign about a newer edition.

http://www.cosmicthump.com/designpatterns-information/

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

Ender.uNF posted:

Case-sensitivity exists because computers were slow, memory was constrained, so why bother doing the more expensive comparisons when a simple byte comparison will work?

Do you have a source for this?

some kinda jackal
Feb 25, 2003

 
 
Haha well in that case guess what I just unearthed in my box of books from the last time I tried to get serious about Objective-C :tipshat:

Along with a bunch other books like the first edition of the Big Nerd Ranch book. Oh god the aqua and pinstripes everywhere! And oh god everything is hideous. Did we really live like this? :stonk:

lord funk
Feb 16, 2004

Martytoof posted:

Hey speaking of that, is the 2009 edition still the newest publishing of that book?

So far it hasn't mattered at all. Since it's primarily a theory / design book, very few of the interim changes to Xcode have even appeared in the code examples.

duck monster
Dec 15, 2004

Ender.uNF posted:

Who's this "we"? You got a mouse in your pocket?

Case-sensitivity exists because computers were slow, memory was constrained, so why bother doing the more expensive comparisons when a simple byte comparison will work? Since we are no longer gorillas angrily mashing the punch cards there is no reason for being case sensitive. Ever.

In fact I'd go so far as saying there is zero legitimate case for case-sensitivity of variables in code; It just invites mistakes. I know people will argue about this point but I don't give a poo poo, those people are wrong.

As proof of this assertion that case sensitivity came from older computers needing faster comparisons here is a list of programing languages to demonstate this theory.

Older languages, case sensitive
-------------------------------
JAVA
Python
Ruby
ObjC

Modern languages, case insensitive
----------------------------------
BASIC
Fortran*
SQL
Pascal
Cobol


Seems like we have our suspect!

*Fortran did infact became case sensitive later in its existance.

Simulated
Sep 28, 2001
Lowtax giveth, and Lowtax taketh away.
College Slice
I was talking more about file systems and Unix, I guess my original statement was too broad.

If someone has a good argument for why case sensitivity is a good thing please post it, I'm certainly willing to be proved wrong. But our mental model of language considers A and a to be the same letter. It would have to be a really drat good reason to willingly break that mental model. A reason with clear tangible benefits.

haveblue
Aug 15, 2005



Toilet Rascal
What's the best way to programmatically append to an NSTextView? Right now I'm doing this:

code:

-(void)addMessage:(NSString *)message
{
	[textField replaceCharactersInRange:NSMakeRange([[textField string] length], 0) withString:message];
	[textField replaceCharactersInRange:NSMakeRange([[textField string] length], 0) withString:@"\n"];
	[textField scrollToEndOfDocument:self];
}

and while it works as expected, the scroll bar is incorrectly drawn as though it's at the top of the content, not the bottom. If I attempt to scroll it instantly corrects itself, but is there a way to make it not look wrong initially? Some "reset scroller" call I'm missing?

vvvvvvv Indeed, the only situation in which Apple recommends case-sensitive HFS is when you have to use legacy Unix software that breaks without it.

haveblue fucked around with this message at 04:15 on Apr 30, 2012

Doc Block
Apr 15, 2003
Fun Shoe

Ender.uNF posted:

I was talking more about file systems and Unix, I guess my original statement was too broad.

If someone has a good argument for why case sensitivity is a good thing please post it, I'm certainly willing to be proved wrong. But our mental model of language considers A and a to be the same letter. It would have to be a really drat good reason to willingly break that mental model. A reason with clear tangible benefits.

Because, for the most part, case sensitive vs insensitive no longer matters in a day and age where the only time the vast majority of users will ever type in the file's name is when they first create/save it (and from there on out will just click on it with their mouse).

When I'm typing a file's name in source code, I'm doing it in a language that's already case sensitive, so there's no mental leap required to type "animationFrames.plist" instead of "animationframes.plist" or whatever for me. Maybe it's because I learned C on Linux, where everything is case sensitive so you learn early on to pay attention to it.

OS X's case-insensitive file system's method of preserving case but ignoring it for file name comparison is a pretty good compromise for users, and makes exchanging files with other operating systems easier.

iOS has no such user-friendly-filesystem requirement, and so probably has a case-sensitive file system to make interoperability/compatibility with its underlying Unix stuff easier. Unlike OS X, where the actual file system is case-insensitive, but the Unix tools and whatnot all do their own case-sensitive file name comparisons, which can introduce headaches.

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

Ender.uNF posted:

But our mental model of language considers A and a to be the same letter. It would have to be a really drat good reason to willingly break that mental model.

Your mental model of language considers those to be the same letter (although that may not be as absolute as you think). Not every language has the concept of "case" (none did, I believe, until a few short centuries ago), and even among those that do the concept is applied inconsistently. Sometimes even involving the same glyphs.

Both case-sensitive systems and case-insensitive systems solve some problems while introducing others. If there's a problem-free right answer for your particular application, great! But when there isn't, such as a file system or programming language that supports speakers of varied languages, the only correct answer is to handle both. You implement the more general solution, which (sometimes unfortunately) means you have to give a poo poo about case.

(This in no way prevents, for example, the Finder from disallowing multiple file names that differ only by case in your particular locale, or Spotlight from returning results whose case does not exactly match your query.)

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slægt skal følge slægters gang



haveblue posted:

What's the best way to programmatically append to an NSTextView? Right now I'm doing this:

code:

-(void)addMessage:(NSString *)message
{
	[textField replaceCharactersInRange:NSMakeRange([[textField string] length], 0) withString:message];
	[textField replaceCharactersInRange:NSMakeRange([[textField string] length], 0) withString:@"\n"];
	[textField scrollToEndOfDocument:self];
}

and while it works as expected, the scroll bar is incorrectly drawn as though it's at the top of the content, not the bottom. If I attempt to scroll it instantly corrects itself, but is there a way to make it not look wrong initially? Some "reset scroller" call I'm missing?

I generally use setStringValue: (inherited from NSControl) to change a text field programmatically.

Regarding scrolling, it appears that the NSScrollView that the NSTextView is wrapped in doesn't get updated. Maybe [[textField scrollView] scrollToEndOfDocument:self] self? See also this stack overflow.

Kallikrates
Jul 7, 2002
Pro Lurker
You can directly access a textviews textStorage, (usually an attributed string), but read the docs, depending on the way you do this, you can break the built in undomanager if you even need it.

haveblue
Aug 15, 2005



Toilet Rascal
It's not editable, it's an accumulation of log messages. But I'll try that, thanks.

Adbot
ADBOT LOVES YOU

some kinda jackal
Feb 25, 2003

 
 
Does Xcode's HIG hinting engine not work properly with NSBox objects?

I have an NSBox that I want to resize up, but it doesn't give me any HIG hints when the top of the box comes near any other UI items. It lets me resize it up without so much as a "hey this box is kind of overlapping some buttons now".

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply