You mean two views, where one view communicates to the other?
So you want one view to change a value that must be communicated to the other view?
If I were to do this quick-n-dirty – not reusable or good design here! – I would try to make use of the view controller’s tabBarController to get my tab bar, then from there get my other view controller, and call an appropriate method to set the data.
If I were to do this cleanly and Apple-y – that is, following Objective-C and Cocoa patterns – I would make my second view controller adopt a custom delegate protocol, and make it a delegate of the first. The protocol would have the method(s) necessary to pass data. So the first controller wouldn’t need to know anything special about the second controller, it just needs a reference to a delegate. In partial code:
// View Controller 1
// has an ivar called sizeSetter, which is assigned View Controller 2, maybe in appDidLoad:
// id sizeSetter;
NSInteger newValue = … // get newValue from sender or equiv IBOutlet
// View Controller 2
@interface MyViewController <UIViewController, SizeSetter>
// it’s implementation includes this method
// store the newSize as a property
// call setsNeedDisplay on the view if you need to update the drawing
I hope I explained it clearly enough.
There may be other ways to do this, and I look forward to anyone else’s thoughts.